第一章 基础知识

检测点1.1

  1. 13
  2. 1024 0 1023
  3. 8192 1024
  4. 1073741824 1048576 1024
  5. 64 1 16 4
  6. 1 1 2 2 4
  7. 512 256
  8. 二进制

寄存器

检测点2.1

检测点2.1.1

指令 AX BX CX 备注
mov ax, 62627 F4A3H - - 62627(十进制) = F4A3H
mov ah, 31H 31A3H - - 只改 AH,AL 保持 A3H
mov al, 23H 3123H - - 只改 AL,AH 保持 31H
add ax, ax 6246H - - 3123H + 3123H = 6246H
mov bx, 826CH 6246H 826CH - BX 赋值
mov cx, ax 6246H 826CH 6246H CX ← AX
mov ax, bx 826CH 826CH 6246H AX ← BX
add ax, bx 04D8H 826CH 6246H 826CH + 826CH = 104D8H,高位舍弃
mov al, bh 0482H 826CH 6246H AL ← BH(82H),AH 保持 04H
mov ah, bl 6C82H 826CH 6246H AH ← BL(6CH),AL 保持 82H
add ah, ah D882H 826CH 6246H AH = 6CH + 6CH = D8H,AL 不变
add al, 6 D888H 826CH 6246H AL = 82H + 6H = 88H,AH 不变
add al, al D810H 826CH 6246H AL = 88H + 88H = 10H(进位舍弃),AH 不变
mov ax, cx 6246H 826CH 6246H AX ← CX,恢复为 6246H

说明: 加粗表示该寄存器在本条指令中发生了改变。最后一列备注解释了运算或操作过程。

检测点2.1.2

mov ax, 2
add ax, ax
add ax, ax
add ax, ax

检测点2.2

  1. 00010H-1000FH
  2. 最小1001H 最大2000H
  3. 当段地址<=1000H或段地址>=2001H时CPU无论怎么变化偏移地址都无法寻到20000H单元

问题2.3

B8 22 66 EA 03 00 00 10 B8 00 00 8B D8 FF E3 B8 23 01 …循环

检测点2.3

四次修改IP

第一次:mov ax, bx指令进入指令缓冲器后
第二次:sub ax, ax指令进入指令缓冲器后
第三次:jmp ax指令进入指令缓冲器后
第四次:jmp ax指令执行完毕后

最后的值为0