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

Posted 一只特立独行的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编_移位指令_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

试验结果:

以上是关于汇编_移位指令_CMOS RAM读取月份的主要内容,如果未能解决你的问题,请参考以下文章

汇编试验十四:访问CMOS RAM

《Linux内核 核心知识全解析(完)》

实用汇编指令

常用汇编指令集合

汇编:实验14:从CMOS读取并显示时间

汇编:实验14:从CMOS读取并显示时间