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

我的博客

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

[2012-11-09 23:20] 实验二

图片载入中
1. (1)使用DEBUG,将上面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。  
mov ax,ffff
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,0100

mov ax,[0]    ;ax= 5beah
add ax,[2]    ;ax= 00e0h
mov bx,[4]    ;bx= 31F0H 
add bx,[6]    ;bx= 6122H  
push ax       ;sp= 00FEH ,修改的内存单元地址是 2200:00FE内容为 00e0H 
push bx       ;sp= 00FCH ,修改的内存单元地址是 2200:00FC 内容为 6122H 
pop ax        ;sp= 00FEH ,ax= 6122H 
pop bx        ;sp= 0100H ,bx= 6122H 
push [4]      ;sp= 00FEH ,修改的内存单元地址是 2200:00FE 内容为 31F0 
push [6]      ;sp= 00FCH ,修改的内存单元地址是 2200:00FC 内容为 2F32 

2. (2)仔细观察图3.19中的实验过程,然后分析:为什么2000:0~2000:F中的内容会发生改变? 
因为在debug中用到了中断,cpu把当前段寄存器中的值入栈保护起来,然后把cpu的数据存到相应的段寄存器中,所以我们看到有的数据不是程序中的 .
不知道理解的对不对。。。希望指出错误、、、
评论次数(0)  |  浏览次数(345)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码