第 2 章:寄存器
检测点 2.1
(1)写出每条汇编指令执行后相关寄存器中的值。
指令
寄存器值(十六进制形式)
mov ax, 62627
AX = FA43
mov ah, 31H
AX = 3143
mov al, 23H
AX = 3123
add ax, ax
AX = 6246
mov bx, 826CH
BX = 826C
mov cx, ax
CX = 6246
mov ax, bx
AX = 826C
add ax, bx
AX = 04D8
mov al, bh
AX = 0482
mov ah, bl
AX = 6C82
add ah, ah
AX = D882
add al, 6
AX = D888
add al, al
AX = D810
mov ax, cx
AX = 6246
(2)只能使用目前学过的汇编指令,最多使用 4 条指令,编程计算 2 的 4 次方。
检测点 2.2
(1)给定段地址为 0001H,仅通过变化偏移地址寻址,CPU 的寻址范围为____到____。
答案:00010h;1000Fh
(2)有一数据存放在内存 20000H 单元中,现给定段地址为 SA,若想用偏移地址寻到此单元。则 SA 应满足的条件是:最小为____,最大为____。(提示,反过来思考一下,当段地址给定为多少,CPU 无论怎么变化偏移地址都无法寻到 20000H 单元?)
答案:(20000 - 0FFFF)/16 = 10001/16 = 1001h;20000/16 = 2000h
检测点 2.3
下面的 3 条指令执行后, CPU 几次修改 IP ? 都是在什么时候?最后 IP 中的值是多少?
答案:4 次。(1)第一行;(2)第二行;(3)第三行读完指令 IP 自动增加;(4)第四行执行完指令跳转到 ax;
实验一
这可能是最详细的 Windows Debug 详解 了_咸鱼的笔记-CSDN博客
Last updated