
用T命令,单步执行, 源程序及编译所得EXE文件运行截图如下:
;; ;;;;;;1加至100
ASSUME CS:CODE
CODE SEGMENT
ORG 100H
START: MOV AX, 0 ;; AX的和值清零
MOV CX, 0 ;; CX的加数清零
LP: INC CX ;; CX←CX +1
ADD AX, CX ;; AX←AX +CX
CMP CX, 100 ;; 将CX值与100比较
JB LP ;; 若CX < 100,转LP循环
INT 3 ;; 若CX=100,程序暂停,以便可看AX的和值
CODE ENDS
END START
在debug中编程的情况如下:
D:\masm>debug
-a
0B0F:0100 xor ax,ax
0B0F:0102 mov bx,1
0B0F:0105 add ax,bx
0B0F:0107 inc bx
0B0F:0108 cmp ax,3e8 ————这里是1000的十六进制。debug中的数据都是十六进制的
0B0F:010B jbe 0105
0B0F:010D
-r
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B0F ES=0B0F SS=0B0F CS=0B0F IP=0100 NV UP EI PL NZ NA PO NC
0B0F:0100 31C0 XOR AX,AX
-g 010d
AX=040B BX=002E CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B0F ES=0B0F SS=0B0F CS=0B0F IP=010D NV UP EI PL NZ NA PO NC
0B0F:010D A1B817 MOV AX,[17B8] DS:17B8=5E08
-
结果是040bh
如果前面只有1个
sum
db
0
生成的exe文件名为1exe
则如下:
c:\>debug
1exe
-g
-d
-q
其中-g是运行整个程序
-d是看数据区结果,你会看到1个6
-q是退出debug程序。
以上就是关于汇编语言,debug调试的时候,怎样一步一步执行一个循环指令全部的内容,包括:汇编语言,debug调试的时候,怎样一步一步执行一个循环指令、求助:汇编语言,会用debug编写程序的、汇编 debug 怎么用初学啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)