工欲善其事必先利其器,要学好汇编,首先需要会搭建开发环境,通过一个简单的helloword程序入门。
安装环境
1.安装vmware虚拟机,然后安装windows XP系统 2.解压DOSBox0.74-2-win32.zip,把三个可执行文件masm.exe,link.exe,debug.exe拷贝到windows的system32目录下 3.编辑源码,如:1.asm
assume cs:codesg
codesg segment
mov ax, 0123H
mov bx, 0456H
add ax, bx
mov ax,4c00H
int 21H
codesg ends
end
4.编译源码,如:nasm 1.asm; 5.链接目标文件,如:nasm 1.obj; 6.debug运行程序:debug 1.exe (由于程序无输出信息,所以用debug程序运行方便查看结果)
要掌握的debug命令:
U - 反汇编命令 用法: -U 代码段地址:起始偏移地址如:-U CS:100 D - 显示内存中的数据命令 用法:-D 数据段地址:存放数据的偏移地址如:-D DS:0020 E - 修改内存中的数据命令 用法:-E 数据段地址:存放数据的偏移地址如:-E DS:0020 T - 单步执行程序命令 用法:-T 要执行的指令条数 如:-T 3 G - 连续执行程序命令 用法:-G=代码段地址:指令的起始偏移地址 指令的结束偏移地址如:-G=CS:100 106 注意:结束地址一定要是操作码的所在地址 R - 查看和修改寄存器数据命令 用法:-R 回车 如:-R AX Q - 退出“DEBUG”应用程序命令