王爽汇编语言第三版P128
assume cs:codesgcodesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0,0,0,0
start: mov ax,cs
mov ss,ax
mov sp,32h
mov bx,0
mov cx,8
s:push cs:
add bx,2
loop s
mov bx,0
mov cx,8
s0:pop cs:
add bx,2
loop s0
mov ax,4c00h
int 21h
codesg ends
end start
查看内在内容
按说出栈数据时顺序相反,应为
00 00 00 00 00 00 00 00 00 00 00 00 00 00
87 09 ba 0c ed 0f ef 0d bc 0a 89 07 56 04 23 01
新手提问,请多多包涵。 本帖最后由 爱你没错 于 2015-12-28 16:05 编辑
此题的关键是数据段和栈段在同一段内存空间里 顺便说一下你应该吧代码mov sp,32h的H去掉,应该20H=32,而32H就差很远了 把mov sp,32H,改为20H后运算 查看cs:0的内容为
d:\try\1.png
debug 全步调试后,查看cs:0的内容为
d:\try\2.png
为什么不是以下结果呢?
00 00 00 00 00 00 00 00 00 00 00 00 00 00
87 09 ba 0c ed 0f ef 0d bc 0a 89 07 56 04 23 01
页:
[1]