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

我的博客

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

[2013-04-07 15:15] 检测点3.1

(1)在debug中,用“d 0:0 1f"查看内存结果如下
0000:0000  70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60     
0000:0010  62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88  
下面的程序执行前,AX=0, BX=0,写出每条汇编指令执行完成后相关寄存器中的值。
mov ax,1
mov ds,ax
mov AX,[0000]        --------AX=2662H
MOV BX,[0001]        --------BX=E626H
MOV AX,BX            --------AX=E626H
MOV AX,[0000]        --------AX=2662H 
MOV BX,[0002]        --------BX=D6E6H
ADD AX,BX            --------AX=FD48H
ADD AX,[0004]        --------AX=2C14H
MOV AX,0             --------AX=0
MOV AL,[0002]        --------AX=00E6H
MOV BX,0             --------BX=0
MOV BL,[000C]        --------BX=0026H
ADD AL,BL            --------AX=000CH
提示,注意ds设置。解题步骤:首先用-e命令修改0:0 ---1F中的内容,头两行命令已经设DS为1 那么当mov ax,[0000]执行时则从 1*10h+0处的内存单元开始读写。
(2)
 寄存器初始值: CS=2000H ,IP=0, DS=1000H, AX=0, BX=0;
因计算机从CS*10H+IP处读取一条指令并执行
所以开始指令为: 
MOV ax,6622h     执行后 CS=2000H,IP=0003H,DS=1000H, AX=6622H,BX=0

jmp 0ff0:0100    执行后 CS=00F0H,IP=0100H,DS=1000H, AX=6622H, BX=0
mov ax,2000h     执行后 cs=00f0h,IP=0103H,DS=1000H, AX=2000H, BX=0
mov ds,ax        执行后 CS=00F0H,IP=0105H,DS=2000H, AX=2000H, BX=0
mov ax,[0008]    执行后 CS=00FOH,IP=0108H,DS=2000H, AX=C389H, BX=0
mov ax,[0002]    执行后 CS=00FOH,IP=010BH,DS=2000H, AX=EA66H, BX=0
 
惭愧。。。时搁一年又继续学习了。汇编一直在努力
评论次数(0)  |  浏览次数(282)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码