我们在编写程序的过程中特别是比较复杂的程序难免会有出错所以调试程序Debug就是用来调试汇编语言程序的一种工具。所以debug可以帮我们检验出差错,今天我们就用一段代码来检验debug的用处。
Code SEGMENT ASSUME CS:code,DS:code ORG 100H ;从100H处开始存放下列指令 Start:MOV AX,code ;将DS置成code段的首地址 MOV DS,AX MOV SI,200H ;取第一个数的首地址 MOV AX,[SI] ;将第一个数的低16位取到AX MOV DI,204H ;取第二个数的首地址 ADD AX,[DI] ;第一个数和第二个数的低16应相加 MOV [SI+8],AX ;低16位相加的结果送到208H和209H单元 MOV AX,[SI+2] ;取第一个数的高16位送到AX中 ADD AX,[DI+2] ;两个数的高16位相加 MOV [SI+0AH],AX ;高16位相加的结果送到20AH,20BH单元 MOV AX,4C00H ;使用DOS的4CH号功能调用 INT 21H ;进入功能调用,返回DOS ORG 200H ;从200H处开始存放下列数据 DD 12345678h,654387A9h,0h ;被加数、加数、和 Code ENDS END start
当输入-r时候 首先用T命令顺序执行用户程序的前l两条指令,将段寄存器DS预置为用户的数据段。
对代码使用u命令反汇编
查看结果发现程序有问题
所以在编译过程中debug可以起到查询错误的功能