自己做的批处理,交互式编译连接多个ASM源文件,共享

dragonzht dragonzht 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
将下面代码复制到批处理文件中,修正ml和link的位置即可
每输入一个ASM文件后立即汇编,重复输入多个ASM文件
最后直接按回车,转链接过程,输出的EXE文件和第一个ASM文件同名

@set SRC=""
@set /p SRC=Enter source file:
if %SRC%=="" goto :eof
@call :get_dir %SRC%
@set LINKEXE="%srcName%.exe"

:1_masm
@if exist "%srcName%.obj" del "%srcName%.obj"
d:\coding\asm\masm615\ml /c "%srcFile%.asm"
@if not exist "%srcName%.obj" goto done
@set LINKSRC=%LINKSRC% "%srcName%.obj"

@set SRC=""
@set /p SRC=Enter source file:
@if %SRC%=="" goto :3_link
@call :get_dir %SRC%
@goto :1_masm

:3_link
@if exist "%LINKEXE%" del "%srcName%.exe"
d:\coding\asm\masm615\link %LINKSRC%, %LINKEXE%, "", "", ""

:done
pause
goto :eof

:get_dir
@set srcDir=%~dp1
@set srcFile=%~dpn1
@set srcName=%~n1
@goto :eof
...全文

相关推荐

【信息科学与工程学】计算机科学与自动化——第二十四篇 编译器10——编译原理与词法分析02

链接时优化:全局DCE(579)、LTO(580)安全编译:CFI(581、586)、ASan(582)、UBSan(583)、MSan(584)、TSan(585)、CET(587)、PAC(588)、MTE(589)、SFI(590)、Wasm沙箱(591)侧信道与秘密:侧信道缓解(592)、常量时间(593)、秘密清理(594)内存安全:ASLR(595)、栈保护(596)、整数溢出检测(597)、除零检测(598)、空指针检测(599)、数组边界检查(600)至此编号达到600。

flyair_China

MC68HC912B32开发实战:D-Bug12监控程序与S-Record文件加载详解

在嵌入式系统开发中,监控程序(Monitor)是连接开发主机与目标硬件的关键桥梁,它通过串口等通信接口接收并执行调试命令,实现对微控制器(MCU)寄存器、内存的实时查看与修改。其核心原理在于接管MCU的通信外设,构建一个交互式命令行环境,为底层硬件调试提供了基础能力。这种技术对于理解8/16位MCU的裸机开发流程、掌握代码加载与调试的底层机制具有重要价值,广泛应用于汽车电子、工业控制等领域的经典系统维护与教学实践。本文聚焦于Motorola(现NXP)MC68HC912B32评估板及其内置的D-Bug12监

dengzhan1932

Mesh优化全平台实战:C++/JS/Wasm集成指南与性能提升

在3D图形开发中,网格(Mesh)数据优化是提升渲染性能与加载效率的关键技术。其核心原理在于通过算法重组顶点与三角形数据,优化GPU缓存命中率、减少过度绘制与内存占用。这项技术的工程价值在于能显著降低应用包体大小、提升运行时帧率,尤其适用于WebGL/WebGPU应用、游戏开发及云端渲染等场景。本文聚焦于meshoptimizer这一高效库,深入解析其顶点缓存优化、网格简化等核心算法,并详细阐述如何在C++、JavaScript及WebAssembly三大环境中进行跨平台集成,实现一套代码全平台通用的高性能

weixin_30820077

嵌入式开发中TRAP #15系统调用与TFTP网络下载的深度解析

在嵌入式系统开发中,系统调用是应用程序与底层硬件交互的核心机制,它通过预定义的软件中断接口,为上层应用提供标准化的硬件访问服务。其原理基于处理器中断机制,当应用程序触发特定中断时,CPU会保存现场并跳转到固件中预设的服务例程执行。这种设计的技术价值在于实现了硬件抽象层,使开发者无需直接操作复杂的硬件寄存器,大大降低了驱动开发难度。在嵌入式调试场景中,系统调用常被用于实现串口输入输出、程序控制等基础功能。本文聚焦于飞思卡尔M5235EVB评估板的dBUG监控程序,深入解析其TRAP #15系统调用机制,详细阐

a631278993

Agent Skills + OpenCode 实战:从安装配置到项目落地

AI 编程助手正在从“一问一答”转向“按流程执行”。Agent Skills 将代码审查、测试生成、批量重构等方法固化为可复用的能力包,而 OpenCode 作为开源的终端 AI Agent,提供可控的模型接入与本地执行环境。理解 SKILL.md 的组织方式,掌握 CLI 工具的安装与 API 配置,是落地自动化工作流的基础。典型场景包括:在终端中生成带单元测试的工具脚本、用预置技能审查代码质量、通过任务队列处理批量文件。这套组合适合希望摆脱闭源订阅、保护代码隐私、沉淀工程经验的个人与团队。本文围绕 Op

weixin_30664615
评论 2
收藏 已收藏
分享
返回顶部
dragonzht
汇编语言 21,500 成员 41,619 内容