汇编网首页登录博客注册
unixandlinux的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新评论
最新留言
好友圈
友情链接

[2023-04-17 11:23] 第3章 问题 3.8

问题 3.8

(1) 将 10000H~1000FH 这段空间当作栈,初始状态栈为空
参考“问题 3.7”: 
mov cx, 1000H 
mov SS, cx
mov SP, 0010H
(2) 设置 AX=001AH,BX=001BH
mov ax, 001AH
mov bx, 001BH
(3) 将 AX、BX 中的数据入栈
push ax
push bx
(4) 将 AX、BX 清零
sub ax, ax
mov bx, ax
(5) 从栈中恢复 AX、BX 原来的内容
pop bx
pop ax
注意,栈空间中出、入栈遵循的规则是“后进先出”,因此不能将这两条指令的执行序列颠倒。可见,用栈来暂存以后需要恢复的寄存器数据时,出栈顺序要和入栈顺序相反,因为最后入栈的寄存器数据在栈顶,所以在恢复时要让它先出栈。
评论次数(0)  |  浏览次数(121)  |  类型(问题分析) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码