竹子小三12414 发表于 2012-1-1 18:05:40

那位鱼兄给小弟解决解决????小弟思考的睡不着啊

assume cs:code,ds:data,ss:stack
data 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
为什么里面的值会发生了变化,那位给我指导指导???????????????

linha0 发表于 2012-1-1 18:17:58

在你调试暂停的时候,Debug要把暂停之前的一些寄存器、标志位等等保存在堆栈中。也就是后面那一段数据 。

竹子小三12414 发表于 2012-1-1 18:25:20

那几个变化的是代表那几个数值,我之前好像19 14 08 00是代表什么的,忘记了??????
页: [1]
查看完整版本: 那位鱼兄给小弟解决解决????小弟思考的睡不着啊