《汇编语言》问题3.9解析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《汇编语言》问题3.9解析
编程:
(1)将10000H~1000fH这段空间当作栈,初始状态是空的:
(1)设置AX=001AH,BX=001BH;
(3)利用栈,交换AX和BX中的数据;
解析:
1、(1)、(2)已在《汇编语言》问题3.8解析中解析过了,如下:
mov ax=1000H
mov ss,ax
mov sp,0010H
mov ax,001AH
mov bx,001BH
2、利用栈,交换AX和BX中的数据
AX=001AH,BX=001BH
交换后,AX=001BH,BX=001AH
如何利用栈交换呢?请看图:
也就是说,将001B出战,存入ax即可;将001A出栈存入bx即可。
将图形和文字转换为代码如下:
pop ax
pop bx
3、参照书中发现遗漏了一步。
没有将ax和bx中的数据入栈。
是啊,不入栈,怎么能利用栈交换ax和bx中的数据呢?
push ax
push bx
所以完整代码如下;
mov ax=1000H
mov ss,ax
mov sp,0010H
mov ax,001AH
mov bx,001BH
push ax
push bx
pop ax
pop bx
总结:看来今后解题时,不仅要注重局部思考,还有有全局观。做完后,一定要记得检查,看有没有疏漏。