芐頁—无罪 发表于 2013-12-3 11:52:10

王爽汇编6.2检测点 第二小题疑问

assume cs:codesg
codesg segment
        dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h   ;设定10个字数据
        dw 0,0,0,0,0,0,0,0,0,0                                                ;用10个字单元作为栈空间
start:mov ax,cs
          mov ss,ax
          mov sp,1ah                                                   ;这里为什么会是1AH   上面有设定的10个字单元作为栈为什么答案中这
                                                                               ;里不是从24h开始出栈压栈
          mov ax,0
          mov ds,ax
          mov bx,0
          mov cx,8
        s:push
          pop cs:
          add bx,2
          loop s
          
          mov ax,4c00h
          int 21h

codesg ends
end start

要没时间了 发表于 2013-12-4 10:08:29

1ah=16十进制那么栈里就有16个格子(能懂吧)。每个格子存两个数,也就是一个字,两个字为一个字节,你的数据段存放的是8个字节型数据,16除以2等于8,所以就用1ah啦

dancene 发表于 2013-12-4 16:43:56

楼主看的是王爽第2版的书籍,对照的是第1版的答案。。

第二版正确答案是 24H

芐頁—无罪 发表于 2013-12-6 15:22:18

答案我自己找到了,这个循环每次压栈后就马上出栈,随便从栈哪里开始都行哦,只要能够存放那些向量什么的就OK了
页: [1]
查看完整版本: 王爽汇编6.2检测点 第二小题疑问