(1)写出相关寄存器的值
mov ax,1
mov ds,ax //ds=1
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 = 0000H
mov al,[0002] AX = 00E6H
mov bx,0 BX = 0000H
mov bl,[000c] BX = 0026H
add al,bl AX = 000CH
学了debug挺方便验证答案哈!
(2)
mov ax,6622H //指令读取后,CS=2000,IP=3
jmp 0ff0:0100 //指令读取后,CS=2000,IP=8;
//指令执行后,CS=0ff0,IP=0100H;
mov ax,2000H //指令读取后,0ff0:0103
mov ds,ax //指令读取后,0ff0:0105
mov ax,[0008] //指令读取后,0ff0:0108
mov ax,[0002] //指令读取后,0ff0:010B
在内存中,指令和数据没什么不同。内存单元20008H和20009H中的89,C3既可以当成指令mov bx,ax;也可以作为数据C389H赋值给ax,
如果被CS:IP所指向,那么内存单元中的数值才被CPU当成指令执行!
- [nbaqqqq] 我也觉得电脑上不能装游戏 02/10 00:56
- [200911141004] 与君类似,共同勉励! 02/04 11:49
- [nice_future] 最近一直忙于学数据结构,加上期中考快到了,挺长时间没关注汇编网了,确实我都写错了,第一题是0070: 11/03 17:11
- [wisji8] 第两个应该是段地址为0:4N+2,你打错字了。 10/25 19:31
- [游客] 是0070:018B,你的0070写成0007了 10/25 19:28
- [mess] 三个子程序和课设一有点难度,不过过了扎个坎就好了,楼主加油啊~ 08/25 09:35
- [mywiil] 恩没问题,加油。 08/21 03:30
- [mess] 通过debug,让计算机验证答案,好。 08/16 17:39
- [mess] 正确。 08/16 17:38
- [mess] 对于这些基本使用,熟能生巧,博主继续加油啊。 08/16 17:37
- [masmaster] 多谢兄弟的祝福~~~~ 09/07 21:43