shl指令
左移指令
指令格式:
shl 长度
注意点:
当长度为1时,可以直接使用1。当长度大于1时,一定要将长度放入cl中,才能使用。
shr指令
右移指令
指令格式:
shr 长度
注意点:
当长度为1时,可以直接使用1。当长度大于1时,一定要将长度放入cl中,才能使用。
读取计算机月份并显示
从CMOS RAM芯片中读取8号地址的内容(内容为BCD码),然后通过转换ASCII码后放入显存。
代码:
assume cs:codesg
codesg segment
start:
mov al, 8;数据地址为8
out 70h, al
in al, 71h;读入月份的数据
mov ah, al
mov cl, 4
shr ah, cl;左移四位,得到高位BCD码
add ah, 30h;转换为ASCII码
and al, 00001111b;取低位BCD码
add al, 30h;转换为ASCII码
mov bx, 0B800h
mov es, bx
mov byte ptr es:[160*1], ah;写缓存低位
mov byte ptr es:[160*1+2], al;写缓存高位
mov ax, 4c00h
int 21h
codesg ends
end start
试验结果: