现 有 ( DS=2000H ) ,( BX=0100H ),( SI=0002H ),( 20100 ) =12H,( 20101 ) =34H,( 20102 ) =56H,( 20103 ) =78H,( 21200 ) =2AH,( 21201 ) =4CH,( 21202 ) =B7H,( 21203 ) =65H,填入下列指令执行后AX寄存器[1]的内容。MOV AX, 1200H; AX=__ MOV AX, BX; AX=__ MOV AX, [1200]; AX=__ MOV AX, [BX]; AX=__
现 有 ( DS=2000H ) ,( BX=0100H ),( SI=0002H ),( 20100 ) =12H,( 20101 ) =34H,( 20102 ) =56H,( 20103 ) =78H,( 21200 ) =2AH,( 21201 ) =4CH,( 21202 ) =B7H,( 21203 ) =65H,填入下列指令执行后AX寄存器[1]的内容。 MOV AX, 1200H; AX=__ MOV AX, BX; AX=__ MOV AX, [1200]; AX=__ MOV AX, [BX]; AX=__
题目解答
答案
我们来逐条分析题目给出的指令,并计算每条指令执行后 AX 寄存器 的内容。
已知条件:
- 寄存器和内存初始状态[2]:
DS = 2000HBX = 0100HSI = 0002H
 - 内存中某些地址的内容(注意:数据以字节为单位存储,且采用小端方式存储,即低地址存低字节):
(20100H) = 12H(20101H) = 34H(20102H) = 56H(20103H) = 78H(21200H) = 2AH(21201H) = 4CH(21202H) = B7H(21203H) = 65H
 
> 注意:括号表示内存地址中的内容,例如 (20100) 表示地址 20100H 处的字节是 12H。
我们逐条执行以下指令:
1. MOV AX, 1200H
这是一条立即数传送指令,将立即数 1200H 传送到 AX 寄存器。
- 所以,执行后:
AX = 1200H 
✅ 答案:AX = 1200H
2. MOV AX, BX
这是寄存器到寄存器的传送。将 BX 寄存器的值传送到 AX。
- 已知:
BX = 0100H - 所以执行后:
AX = 0100H 
✅ 答案:AX = 0100H
3. MOV AX, [1200]
这是一条内存传送指令,将内存地址 [1200] 处的一个字(16位,2字节)传送到 AX。
但注意:这里的 [1200] 是一个偏移地址(EA),实际物理地址需要结合段寄存器。
默认情况下,[...] 使用 DS 段寄存器。
DS = 2000H- 偏移地址 = 
1200H - 物理地址 = 
DS × 16 + 偏移=2000H × 10H + 1200H = 20000H + 1200H = 21200H 
所以我们需要从内存地址 21200H 处读取一个字(2字节)送到 AX。
(21200H) = 2AH(低字节)(21201H) = 4CH(高字节)
由于 x86 是小端模式,低字节在前,高字节在后。
所以 AX = 4C2AH
> 解释:低字节是 2AH,高字节是 4CH,组合成字就是 4C2AH
✅ 答案:AX = 4C2AH
4. MOV AX, [BX]
这条指令是寄存器间接寻址,从 [BX] 所指向的地址中读取一个字送到 AX。
BX = 0100H- 段寄存器仍默认为 
DS = 2000H - 物理地址 = 
DS × 16 + BX=20000H + 0100H = 20100H 
从地址 20100H 读取一个字(2字节):
(20100H) = 12H(低字节)(20101H) = 34H(高字节)
所以 AX = 3412H(小端方式)
✅ 答案:AX = 3412H
最终答案汇总:
MOV AX, 1200H→ AX = 1200HMOV AX, BX→ AX = 0100HMOV AX, [1200]→ AX = 4C2AHMOV AX, [BX]→ AX = 3412H
✅ 填入结果:
- MOV AX, 1200H; AX= 1200H
 - MOV AX, BX; AX= 0100H
 - MOV AX, [1200]; AX= 4C2AH
 - MOV AX, [BX]; AX= 3412H
 
最终答案:
$\boxed{ \begin{aligned}&\text{MOV AX, 1200H; } AX = 1200H \\&\text{MOV AX, BX; } AX = 0100H \\&\text{MOV AX, [1200]; } AX = 4C2AH \\&\text{MOV AX, [BX]; } AX = 3412H\end{aligned} }$