| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 郝凡呀 于 2021-3-6 11:40 编辑  
 
(1)在Debug中,用“d0:01f”查看内存,结果如下。 
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=2C14 
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的设置。 
 
各寄存器的初始值CS=2000H,IP=0,DS=1000H,AX=0 BX=0 
①写出cpu执行指令的序列,写出CPU执行各条指令后,CS、IP和相关寄存器中的数据。 
mov ax,6622H IP=3 CS=2000H ax=6622 
jmp offo:0100 CS=2000H 
mov ax,2000H IP=6 DS=1000H ax=2000H 
mov ds,ax        ds=2000H IP=3 
mov ax,[0008]  ax=C389  IP=5 
mov bx,ax        bx=C389  CS=1000H IP=8 
mov ax,[0002]  ax=EA66  
 
数据和程序没有区别,ds指向的是数据,CS:IP指向的是代码。 
其实这个IP的变化我并不是很清楚,望赐教。 
如有错误,望您可以不吝赐教,谢谢!   
 |   
 
 
 
 |