(1)
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=0000H
mov al,[0002] ax=00E6H
mov bx,0 bx=0000H
mov bl,[000c] bx=0026H
add al,bl ax=000cH
(2)
指令序列以及指令执行后CS、IP 和相关寄存器中数值:
mov ax,6622H CS=2000H,IP=3,AX=6622H
jmp 0ff0:0100 CS=0ff0H,IP=0100
mov ax,2000H CS=0ff0H,IP=0103,AX=2000H
mov ds,ax CS=0ff0H,IP=0105,DS=2000H
mov ax,[0008] CS=0ff0H,IP=0108,AX=C189H
mov ax,[0002] CS=0ff0H,IP=010b,AX=EA66H
(3)数据和程序在机器里都是以二进制表示的,没有区别。当它们作为cs:ip所指向而被调用时,是程序,是要执行的指令。当它们作为寄存器,内存单元[****]而被调用时,是数据。
- [mess] 如果楼主看的是第二版教材就没有这个问题了(因为已经把sp设置大了^_^) 08/23 15:15
- [mess] 如果楼主看的是第二版教材就没有这个问题了(因为已经把sp设置大了^_^) 08/23 15:14
- [mess] 博主加油 08/23 15:13
- [mywiil] 抓紧时间吧,一放就over了。 08/21 03:29
- [beichenyibei] 恩,谢谢您的提点。 08/17 19:15
- [masmaster] 算术与逻辑运算通常用通用寄存器。4个段寄存器有专门的用途。 08/17 11:05
- [beichenyibei] 不好意思,我错了。 我以为像“mov 寄存器,数据”这种ip都是加三,就想当然的以为“mov 寄存 08/17 09:54
- [12sunfeng34] mov ax,bx sub ax,bx 读取指令缓冲器后为什么是 IP+3 08/16 15:15
- [tiger888] 鼓励一下 08/12 13:35
- [mess] 坚持,努力,加油! 08/12 11:21