汇编_移位指令_CMOS RAM读取月份

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

试验结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45931661/article/details/120579233
今日推荐