《汇编语言》第3版(王爽)检测点2.1解析

第2章 检测点2.1


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

mov ax,62627    AX=F4A3 ;注意这里是十进制的62627,转换成十六进制为F4A3
mov ah,31H      AX=31A3 ;这里是将31H送入AX寄存器的高八位,所以低八位的值不会改变
mov al,23H      AX=3123 ;23H送入AX寄存器的低八位,所以高八位值不变
add ax,ax       AX=6246 ;将AX寄存器里的值加到AX里,相当于 AX = AX+AX
mov bx,826CH    BX=826C ;826C送入BX寄存器中
mov cx,ax       CX=6246 ;将AX寄存器的值送入CX寄存器中,上一次AX里的值为6246,所以将6246送入CX
mov ax,bx       AX=826C ;上一次BX寄存器中的内容为826C,所以将826C送入AX里
add ax,bx       AX=04D8 ;将BX中的值和AX中的值相加放入AX中,注意这里相加后的值为104D8H,超出了AX寄存器的范围,所以只会保留低16位的值
mov al,bh       AX=0482 ;将BX高八位寄存器的值放入AX低八位寄存器中
mov ah,bl       AX=6C82 ;将BX低八位寄存器的值放入AX高八位寄存器中
add ah,ah       AX=D882 ;将AX高八位寄存器的值和AX高八位寄存器的值相加放入AX高八位寄存器中
add al,6        AX=D888 ;AX低八位寄存器的值加6
add al,al       AX=D810 ;将AX低八位寄存器的值和AX低八位寄存器的值相加放入AX低八位寄存器中,注意这里相加后的值为110,由于是八位寄存器,所以只会保留低8位的值即10
mov ax,cx       AX=6246 ;将CX寄存器的值放入AX中,上一次CX中的值为6246,所以将6246放入AX中

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

mov ax,2  ;2放入AX寄存器中,此时AX寄存器中的值为2
add ax,ax ;将AX寄存器中的值和AX寄存器中的值相加放入AX寄存器中,此时AX寄存器中的值为 2+2 = 4
add ax,ax ;将AX寄存器中的值和AX寄存器中的值相加放入AX寄存器中,此时AX寄存器中的值为 4+4 = 8
add ax,ax ;将AX寄存器中的值和AX寄存器中的值相加放入AX寄存器中,此时AX寄存器中的值为 8+8 = 16

在DOSBOX中使用debug命令运行如下:
在这里插入图片描述

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值