💿
汇编语言 - 王爽
  • 本电子书信息
  • 各章检测点答案
    • 第 1 章:基础知识
    • 第 2 章:寄存器
    • 第 3 章:寄存器(内存访问)
    • 第 4 章:第一个程序
    • 第 5 章:[BX]和 loop 指令
    • 第 6 章:包含多个段的程序
    • 第 7 章:更灵活的定位内存地址的方法
    • 第 8 章:数据处理的两个基本问题
    • 第 9 章:转移指令的原理
    • 第 10 章:CALL 和 RET 指令
    • 第 11 章:标志寄存器
    • 第 12 章:内中断
    • 第 13 章:int 指令
    • 第 14 章:端口
    • 第 15 章:外中断
    • 第 16 章:直接定址表
    • 第 17 章:使用 BIOS 进行键盘输入和磁盘读写
Powered by GitBook
On this page
  • 检测点 2.1
  • 检测点 2.2
  • 检测点 2.3
  • 实验一
  1. 各章检测点答案

第 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

注意:第一行左侧指令的数字非 H 结尾,应视为十进制数,运算时需要转换为十六进制。

(2)只能使用目前学过的汇编指令,最多使用 4 条指令,编程计算 2 的 4 次方。

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

检测点 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 中的值是多少?

mov ax, bx
sub ax, ax
jmp ax

答案:4 次。(1)第一行;(2)第二行;(3)第三行读完指令 IP 自动增加;(4)第四行执行完指令跳转到 ax;

实验一

  • 这可能是最详细的 Windows Debug 详解 了_咸鱼的笔记-CSDN博客

Previous第 1 章:基础知识Next第 3 章:寄存器(内存访问)

Last updated 4 years ago

https://blog.csdn.net/Apheal/article/details/80617302