(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=6246H
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 ax,2
add ax,ax
add ax,ax
add ax,ax
问:为什么mov ax,62627 AX=F4A3H?
答:用进制转换器,将62627转换成十六进制,自然也就是F4A3H。
问:为什么mov ah,31H AX=31A3?
答:AX是十六位寄存器,ah的高8位是F4,al的低8位是A3。用31替换8位寄存器ah中的数据,也就是31。由于只是替换的是8位寄存器ah中的数据,并没有替换8位寄存器al中的数据,所以AX=31A3。
问:为什么计算2^4,只能用4条汇编指令?
答:由于出题的人,表示只能用目前学过的汇编指令。所以,要用4条指令来表示。