栈的使用
本帖最后由 龙少~乌托邦 于 2012-5-1 09:23 编辑assume cs:code,ds:data,ss:stack
data segmen
dw 0123h,0456h,0789h,0abch,0defh
data ends
stack segment
dw 0,0,0,0,0
stack ends
code segment
start:
mov ax, data
mov ds, ax
mov ax, stack
mov ss, ax
mov sp, 10
mov bx, 0
mov cx, 5
s:mov ax,
push ax
inc bx
inc bx
loop s
mov ax, 4c00h
int 21h
code ends
end start
下图为执行了
mov ss, ax
后的结果
此时的
0b3c:0000 行不是应该是 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00吗????
为什么 会是 00 00 00 00 00 00 3c 0b-00 00 10 00 3d 0b 47 05呢????
file:///C:/Users/AlanLJ/AppData/Roaming/Tencent/Users/547533434/QQ/WinTemp/RichOle/3~5Y~(BZTE@%60NIL@(A@TTU5.jpg
你看下课本74页那里 就是实验二最后那个小题 就你的程序而言 我理解的是后面的10 00 是ip,3d 0b是cs, 47 05是标志寄存器
前面的3c 0b不理解{:5_93:} 坐坐沙发。十个字,十个字,有木有?
我是来赚点鱼b的。
还没学到,学习学习。{:5_109:} 到底有没有人回答啊,悲催。。。。:'( 我没看到图,但是你的mov sp,10h应该是错的,你栈段只定义了10字节,怎么出来个16字节呢,改改试试吧 我写的是mov sp, 10啊,不是mov sp, 10h啊,是十进制的,而且我是单步执行的,在执行mov ss, ax的之后查看就出错了 图没上来,结果在后面给出了,大牛们,帮帮忙啊
页:
[1]