龙少~乌托邦 发表于 2012-4-26 12:39:17

栈的使用

本帖最后由 龙少~乌托邦 于 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





花落、季 发表于 2012-4-26 12:39:18

你看下课本74页那里 就是实验二最后那个小题 就你的程序而言 我理解的是后面的10 00 是ip,3d 0b是cs, 47 05是标志寄存器
前面的3c 0b不理解{:5_93:}

越野e族 发表于 2012-4-30 16:11:17

坐坐沙发。十个字,十个字,有木有?

我是来赚点鱼b的。
还没学到,学习学习。{:5_109:}

龙少~乌托邦 发表于 2012-4-30 21:23:06

到底有没有人回答啊,悲催。。。。:'(

Ak.xuer 发表于 2012-5-1 00:35:01

我没看到图,但是你的mov sp,10h应该是错的,你栈段只定义了10字节,怎么出来个16字节呢,改改试试吧

龙少~乌托邦 发表于 2012-5-1 09:12:15

我写的是mov sp, 10啊,不是mov sp, 10h啊,是十进制的,而且我是单步执行的,在执行mov ss, ax的之后查看就出错了

龙少~乌托邦 发表于 2012-5-1 09:24:09

图没上来,结果在后面给出了,大牛们,帮帮忙啊
页: [1]
查看完整版本: 栈的使用