(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,[0] AX=2662H
mov bx,[1] BX=e626H
mov ax,bx AX=e626H
mov ax,[0] AX=2662H
mov bx,[2] BX=d6e6H
add ax,bx AX=fd48H
add ax,[4] AX=2c14H
mov ax,0 AX=0H
mov al,[2] AX=e6H
mov bx,0 BX=0H
mov bl,[c] BX=26H
add al,bl AX=cH
提示,注意ds的设置。
(2)内存中的情况如图3.6所示
各寄存器的初始值:CS=2000H,IP=0,DS=1000H,AX=0,BX=0;
1,写出CPU执行的指令序列(用汇编指令写出)。
2,写出CPU执行每条指令后,CS、IP和相关寄存器中的数值。
3,再次体会:数据和程序有区别吗?如何确定内存中的信息哪些是数据,哪些是程序?
分析:
CPU对图3.6中指令的执行过程如下。
(1)当前CS=2000H,IP=0H,则CPU从内存2000H×16+0=20000H处读取指令,读入的指令是:B8 22 66(mov ax,6622H),读入后IP=IP+3=3H;
(2)当前CS=2000H,IP=3H,则CPU从内存2000H×16+3=20003处读取指令,读入的指令是:EA 00 01 F0 0F(jmp 0ff0:0100),读入后CS=0ff0H,IP=100H;
(3)当前CS=0ff0H,IP=100H,则CPU从内存ff0H×16+100H=10000H处读取指令,读入的指令是:B8 00 20(mov ax,2000H),读入后IP=IP+3=103H;
(4)当前CS=0ff0H,IP=103H,则CPU从内存ff0H×16+103H=10003H处读取指令,读入的指令是:8E D8(mov ds,ax),读入后IP=IP+2=105H;
(5)当前CS=0ff0H,IP=105H,则CPU从内存ff0H×16+105H=10005H处读取指令,读入的指令是:A1 08 00(mov ax,[8]),读入后IP=IP+3=108H;
(6)当前CS=0ff0H,IP=108H,则CPU从内存ff0H×16+108H=10008H处读取指令,读入的指令是:A1 02 00(mov ax,[2]),读入后IP=IP+3=10bH;
……
经分析后,可知指令执行序列为:
(1) mov ax,6622H AX=6622H
(2) jmp 0ff0:0100 CS=ff0H,IP=100H
(3) mov ax,2000H AX=2000H
(4) mov ds,ax DS=2000H
(5) mov ax,[8] AX=c389H
(6) mov ax,[2] AX=ea66H
体会:数据和程序没有区别。
- [游客] 厉害,自己独立完成课设一,这本书就掌握多一半了。 10/24 16:23
- [tolearn] 嗯, 10/19 07:11
- [huang425618] 同学,检测10.5第二题你错了哦,ax的值是1哦,在 call dword ptr ss:[0]下 10/18 22:42
- [lk524849699] 这mov ax,4c00h int 21h 10/15 22:37
- [tolearn] 哪里? 10/15 22:29
- [lk524849699] 这不是有输出啊,还说不明白! 10/15 22:19
- [tolearn] 修改了一下 10/09 17:15
- [tolearn] 哦,对!谢谢提醒! 10/09 15:30
- [mess] 十六进制,别忘了写H。 10/09 15:11
- [mess] 等做了这章的实验,博主可以自己用debug验证下 ^_^ 10/09 15:10
- [tolearn] 最近学习比较紧,汇编进程就拉下来了 10/27 10:30
- [tolearn] 希望大家看完之后能够指点一二! 10/19 08:50
- [tolearn] 没人评论的日子我该怎么过…… 10/18 20:25
- [tolearn] 汇编,我已经感觉到你的强大了! 10/15 21:31
- [tolearn] 郁闷的网,检测到一半断线, 10/15 09:35
- [tolearn] 多实践,多思考,多看论坛。 牙好,胃好,身体倍棒! 10/11 20:13
- [tolearn] 汇编,值得去学习! 10/10 12:15