《汇编语言》问题3.9解析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

总结:看来今后解题时,不仅要注重局部思考,还有有全局观。做完后,一定要记得检查,看有没有疏漏。

相关文档
最新文档