8086汇编自动编译调试脚本(无限制版)


简介 :

在学习王爽老师的汇编课程中
经常需要使用 : 
1. masm.exe 对 .asm 进行编译
2. link.exe 对 .obj 进行链接
3. debug.exe 进行可执行程序的调试
而这三步都需要在命令行下进行 , 
因此经常需要使用 cd 命令先切换工作目录...
因此写了这个比较方便的脚本
使用的时候直接将 .asm 文件拖放到脚本上即可一次性完成编译链接 , 
并直接将可执行文件用 debug 进行装载以便调试

环境要求 :

1. 需要根据使用方法配置 masm.exe 以及 link.exe 存放的目录

代码 :

:::::::::::::::::::::::::::::::::::::::::::::::
::          8086汇编自动编译调试脚本         ::
::               作者 : 王一航               ::
::  使用方式 : 将 .asm 文件拖动到脚本上即可  ::
:::::::::::::::::::::::::::::::::::::::::::::::
:: 获取脚本所在目录
echo %~dp0
:: 获取被拖放的文件的完整路径
set fullfilepath=%~dp1%~nx1
:: 将源码文件复制到脚本所在目录
copy "%fullfilepath%" "%~dp0"
:: 进入工作目录
cd %~dp0
:: 设置文件名
set filename_all=%~nx1
:: 截取文件名(去掉后缀名)
:: 由于后缀名为三位 , 因此硬编码不会有影响
set filename=%filename_all:~0,-4%
:: 汇编
masm %filename%.asm; || echo "Complie error!" && pause
:: 链接
link %filename%.obj; || echo "Link error!" && pause
:: 将编译获取的 .obj .exe 文件复制回去
copy "%filename%.obj" "%~dp1"
copy "%filename%.exe" "%~dp1"
:: 将脚本目录中的 .asm .obj .exe 进行删除
del "%filename%.asm"
del "%filename%.obj"
del "%filename%.exe"
:: 切换工作目录
cd "%~dp1"
:: 载入 debug 进行调试
debug %filename%.exe

你可能感兴趣的:(8086汇编自动编译调试脚本(无限制版))