汇编语言(王爽)第三版检测点2.1答案和解析

1.写出每条汇编指令执行后相关寄存器的值
mov ax,62627   AX=________________

62627转换为10进制,为F4A3H,故AX=F4A3H


mov ah,31H     AX=________________

ah=31H,则AX=31A3H


mov al,23H     AX=________________

al=23H,则AX=3123H


add ax,ax      AX=________________

AX=AX+AX=6246H


mov bx,826CH   BX=________________

BX=826CH


mov cx,ax      CX=________________

CX=AX=6246H


mov ax,bx      AX=________________

AX=BX=826CH


add ax,bx      AX=________________

ax=ax+bx=104D8H,但是实际只有04D8H,因为AX放不下那么多


mov al,bh      AX=________________

因为bx=826CH,所以bh=82H,al=bh=82H,又因为AX原本等于04D8H,
ah不变,则AX=0482H


mov ah,bl      AX=________________

bl=6CH,ah=6CH,之前AX=8282H,现在AL不变,AH变,则AX=6C82H


add ah,ah      AX=________________

ah=ah+ah=D8H  之前AX=6C82H,al不变,则现在AX=D882H


add al,6       AX=________________

6换为16进制,06H,AX之前为D882H,AH未变,AL变为88H则现在AX=D888H


add al,al      AX=________________

al=88H+88H=110H,AL只能存放100H以内,溢出,所以al=10H,之前AX=D888H,AH未变,AX=D810H


mov ax,cx      AX=________________

CX=6246H,ax=cx=6246H


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

解析:目前我们学过的指令:mov,add

     mov是数据传送指令,把一个数据的源地址传送到目标地址(寄存器间也是一样),如mov ax,2  那么ax=2

     add,两数相加,比如add ax,bx 那么ax=ax+bx

答案:mov ax,2--------------ax=2

          add ax,ax--------------ax=2+2=4

          add ax,ax--------------ax=4+4=8

          add ax,ax--------------ax=8+8=16

 

(想把自己的学习过程记录下来,相当于是重新学习一遍,希望我能变的更好)

你可能感兴趣的:(汇编语言(王爽)第三版检测点2.1答案和解析)