[2013-09-18 10:29] 第三章 寄存器 检测点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=2662
mov bx,[0001] BX=E626
mov ax,bx AX=E626
mov ax,[0000] AX=2662
mov bx,[0002] BX=D6E6
add ax,bx AX=FD48
add ax,[0004] AX=2ECC
mov ax,0 AX=0000
mov al,[0002] AX=00E6
mov bx,0 BX=0000
mov bl,[000C] BX=0026
add al,bl AX=000C
提示,注意ds的设置
(2)内存中的情况如图3.6所示。
各寄存器的初始值:CS=2000H,IP=0,DS=1000H,AX=O,BX=0;
1 写出CPU执行的指令序列(用汇编指令写出)。
2 写出CPU执行每条指令后,CS、IP和相关寄存器中的数值。
3 再次体会:数据和程序有区别吗?如何确定内存中的信息哪些是数据,哪些是程序?
mov ax,6622H cs=2000 ip=0003 ax=6622H
jmp 0ff0:0100 cs=0ff0 ip=0100
mov ax,2000H cs=0ff0 ip=0103 ax=2000H
mov ds,ax cs=0ff0 ip=0105 ds=2000H
mov ax,[0008] cs=0ff0 ip=0108 ax=C389
mov ax,[0002] cs=0ff0 ip=010B ax=EA66
数据和程序在内存中都是以二进制数存在并无区别
当内存单元的地址是被cs:ip指向时,内存单元内容为指令
当内存单元的地址被DS指向时,内存单元内容为数据
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=2662
mov bx,[0001] BX=E626
mov ax,bx AX=E626
mov ax,[0000] AX=2662
mov bx,[0002] BX=D6E6
add ax,bx AX=FD48
add ax,[0004] AX=2ECC
mov ax,0 AX=0000
mov al,[0002] AX=00E6
mov bx,0 BX=0000
mov bl,[000C] BX=0026
add al,bl AX=000C
提示,注意ds的设置
(2)内存中的情况如图3.6所示。
各寄存器的初始值:CS=2000H,IP=0,DS=1000H,AX=O,BX=0;
1 写出CPU执行的指令序列(用汇编指令写出)。
2 写出CPU执行每条指令后,CS、IP和相关寄存器中的数值。
3 再次体会:数据和程序有区别吗?如何确定内存中的信息哪些是数据,哪些是程序?
mov ax,6622H cs=2000 ip=0003 ax=6622H
jmp 0ff0:0100 cs=0ff0 ip=0100
mov ax,2000H cs=0ff0 ip=0103 ax=2000H
mov ds,ax cs=0ff0 ip=0105 ds=2000H
mov ax,[0008] cs=0ff0 ip=0108 ax=C389
mov ax,[0002] cs=0ff0 ip=010B ax=EA66
数据和程序在内存中都是以二进制数存在并无区别
当内存单元的地址是被cs:ip指向时,内存单元内容为指令
当内存单元的地址被DS指向时,内存单元内容为数据
评论次数(0) |
浏览次数(263) |
类型(汇编作业) |
收藏此文 |