汇编语言 王爽 第二章课后习题答案

检测点 2.1

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

mov ax,62627  ;AX= F4A3H
mov ah,31H    ;AX= 31A3H
mov al,23H    ;AX= 3123H
add ax,ax     ;AX= 6246H
mov bx,826CH  ;BX= 826CH
mov cx,ax     ;CX= 6264H
mov ax,bx     ;AX= 826CH
add ax,bx     ;AX= 04D8H
mov al,bh     ;AX= 0482H
mov ah,bl     ;AX= 6C82H
add ah,ah     ;AX= D882H
add al,6      ;AX= D888H
add al,al     ;AX= D810H
mov ax,cx     ;AX= 6246H

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

mov al,2
add al,al
add al,al
add al,al

检测点 2.2

(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00100H1000FH

因物理地址=基础地址(段地址×16)+偏移地址
则基础地址:0001H × 16 = 0010H	偏移地址:0000H~FFFFH
故寻址范围为00100H~1000FH 

(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为1001H,最大为2000H

因物理地址=基础地址(段地址×16)+偏移地址	偏移地址的范围为0000H~FFFFH
若要使SA的值最小,则应尽可能地使段地址小。
当段地址为1000H时,此时可寻址的范围是10000H~1FFFFH。
可以看出其最大寻址地址小于20000H,所以最小应为1001H。
而当段地址为2000H时,此时可寻址的范围是20000H~2FFFFH。
故最大应为2000H

检测点 2.3

下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?

mov ax,bx
sub ax,ax
jmp ax      ;CPU修改IP,IP的值为0000H
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值