返回介绍

第 2 章:寄存器

发布于 2024-10-04 13:37:13 字数 5323 浏览 0 评论 0 收藏 0

检测点 2.1

(1)写出每条汇编指令执行后相关寄存器中的值。

指令寄存器值(十六进制形式)
mov ax, 62627AX = FA43
mov ah, 31HAX = 3143
mov al, 23HAX = 3123
add ax, axAX = 6246
mov bx, 826CHBX = 826C
mov cx, axCX = 6246
mov ax, bxAX = 826C
add ax, bxAX = 04D8
mov al, bhAX = 0482
mov ah, blAX = 6C82
add ah, ahAX = D882
add al, 6AX = D888
add al, alAX = D810
mov ax, cxAX = 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;

实验一

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文