第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命令运行如下: