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

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新评论
  • [游客] 1 10/24 11:50
  • [游客] 9 10/24 11:49
最新留言
好友圈
文章收藏
友情链接

[2020-08-18 17:18] 实验2

(1)使用 Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行
情况填空。
mov ax, ffff
mov ds, ax

mov ax, 2200
mov ss, ax

mov sp, 0100

mov ax,[0]      ;ax=c0ea
add ax,[2]      ;ax=c0fc
mov bx,[4]      ;bx=30f0
add bx,[6]      ;bx=6021

push ax         
;sp=00fe    ;修改的内存单元的地址是:220fe,220ff  内容为:c0fc
push bx         
;sp=00fc    ;修改的内存单元的地址是:220fc,220fd  内容为:6021
pop ax          ;sp=00fe    ;ax=6021
pop bx          ;sp=0100    ;bx=c0fc

push [4]        
;sp=00fe    ;修改的内存单元的地址是:220fe,220ff  内容为:30f0
push [6]        
;sp=00fc    ;修改的内存单元的地址是:220fc,220fd  内容为:2f31
(2)仔细观察图3.19中的实验过程,然后分析:为什么2000:0~2000:f中的内容会发
生改变?
test1 a命令操作时,仅输入前两行命令,其余不变,问题未复现
test2 a命令操作时,仅输入前三行命令,其余不变,问题复现,且发现CS、IP内容被顶入栈段
说明此问题与栈的初始化有关,联想到“中断机制”,有可能CS、IP内容被顶入栈段,即为中断机制的一部分过程。
评论次数(0)  |  浏览次数(444)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码