王爽汇编6.2检测点 第二小题疑问
assume cs:codesgcodesg 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
1ah=16十进制那么栈里就有16个格子(能懂吧)。每个格子存两个数,也就是一个字,两个字为一个字节,你的数据段存放的是8个字节型数据,16除以2等于8,所以就用1ah啦 楼主看的是王爽第2版的书籍,对照的是第1版的答案。。
第二版正确答案是 24H 答案我自己找到了,这个循环每次压栈后就马上出栈,随便从栈哪里开始都行哦,只要能够存放那些向量什么的就OK了
页:
[1]