(1)写出每条汇编指令执行后相关寄存器中的值。
mov ax,62627 ax=f4a3
#由于ax是16位寄存器, 我先将其转换为二进制和十六进制,即:1111010010100011/F4A3,
mov ah,31h ax=31a3
mov al,23h ax=3123
add ax,ax ax=6246
mov bx,826ch bx=826c
mov cx,ax cx=6246
mov ax,bx ax=826c
add ax,bx ax=04d8
#结果是104D8H, 因为ax是16位寄存器只能存放4位十六进制数据,所以最高位的1丢弃
mov al,bh ax=0482
mov ah,bl ax=6c82
add ah,ah ax=d882
add al,6 ax=d888
add al,al ax=d810
#由于al是8位寄存器只能存放2位十六进制数据88h+88H=110h,故最高位的1丢失
mov ax,cx ax=6246
(2)只能用目前学过的汇编指令, 最都使用4条, 编程计算2的4次方。
mov ax,2
add ax,ax
add ax,ax
add ax,ax
------------------------------------------------------------------------------
另:书里说一个16位寄存器能存贮的数据最大值是多少?
我觉得应该是2bytes呢还是16bits呢?
谢谢大家 |