那位鱼兄给小弟解决解决????小弟思考的睡不着啊
assume cs:code,ds:data,ss:stackdata segment
db'ibm '
db'dec '
db'dos '
db'vax '
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
mov bx,0
mov cx,4
s0: push cx
mov si,0
mov cx,3
s: mov al,
and al,11011111b
mov ,al
inc si
loop s
add bx,16
pop cx
loop s0
mov ax,4c00h
int 21h
code ends
end start
我开始执行r,mov ax,1419 得到了stack的地址,
d查看了里面-d 1419:0 f 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
我执行了-t 2
d查看了里面-d 1419:0 f 00 00 00 00 00 00 19 14-00 00 08 00 1A 14 0A 0E
为什么里面的值会发生了变化,那位给我指导指导???????????????
在你调试暂停的时候,Debug要把暂停之前的一些寄存器、标志位等等保存在堆栈中。也就是后面那一段数据 。 那几个变化的是代表那几个数值,我之前好像19 14 08 00是代表什么的,忘记了??????
页:
[1]