最近练习80x86的汇编程序,感觉挺好玩的,其实学什么都是只要入门了就好了。下面分享一下在XP系统中由cmd进入DOS状态下的汇编程序操作的入门过程:
先保证你的电脑中装有了汇编程序包含有MASM.exe等文件,好使的MASM5.0文件包https://static.assets-stash.eet-china.com/album/old-resources/2008/10/31/7c8ec8f0-4ce3-4138-a7b8-19bc2fbff435.rar。将其解压缩后放在C盘中。下面以其在命名为asm的文件夹中作为操作示例。
首先点击“开始”中的运行,键入“cmd”命令如下图:
点击确定后在进入的界面闪烁光标后:
继续键入MASM A就可以编译已经编好存于同一文件夹的文件名为A的汇编源程序了。如下图:
有提示错误,类型不匹配等错误,返回源代码文件修改后再次编译直到成功没有错误:
此时就可以继续键入命令”LINK A“,完成程序的链接生成可执行文件A.exe。
然后键入命令”DEBUG A.EXE"进行程序的调试,在“-”提示符后键入DEBUG调试命令就能看到程序的运行过程和状态了。“T"命令可以实现程序的单步执行,如下图:
程序运行完后(本程序为出现”NOP“指令时)键入”D 1492:0”就可以查看程序运行后的结果了。如下图:
第一行中间连续的内容为“04 00 02 00 06”即为,A=4H,B=00H,C=02H,D=00H,E=06H.计算结果正确。继续键入“Q”命令就退出DEBUG调试状态了。
在DOS状态大小写不区分,而在DEBUG状态则需要区分大小写,命令都只能用大写。
文件A.asm的内容为:
DATA SEGMENT
A DB 4
B DB 2
C DB ?
D DB ?
E DB ?
F DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AL,A ;A+B=C
ADD AL,B
MOV C,AL
MOV AL,A ;A-B=D
SUB AL,B
MOV D,AL
MOV AL,A ;A*B=E
IMUL B
MOV E,AL
MOV AL,A ;A/B=F
CBW
IDIV B
MOV F,AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
可以用记事本编辑,然后在文件夹”工具“->”文件夹选项“->”单看“->”隐藏已知文件类型“,将框中的勾去掉点”确定“。然后就可以将A.txt文件重命名,为A.asm就实现保存为asm汇编源文件类型了。
也可以在已经调出DOS的环境下键入”EDIT“命令打开编辑器界面进行源代码的编辑保存。
文章评论(0条评论)
登录后参与讨论