汇编学习笔记(六)

这篇博客探讨了BIOS键盘缓冲区的作用,它是系统启动后用于存储int 9H中断例程接收到的键盘输入的区域,能容纳15个键盘输入。每个输入占用一个字单元,高字节存储扫描码,低字节存储字符码。
摘要由CSDN通过智能技术生成
第十四章 端口

访问端口:使用in和out指令分别往端口读和写 ,如:in al,60H  ;就是往al中写入60H中的数据,读入一个字节,这里的端口读写和内存的读写是一样的,只是执行的对象不同

COMS RAM 芯片:
1.包含一个时钟和一个由128个存储单元的RAM存储器,早期的计算机为64个字节
2.该芯片靠电池供电,因此,关机后其内部的实时钟仍可以正常工作,RAM 的信息不会丢失,就是说关机后时间啊啥的开机信息不会改变
3.128个字节的RAM中,内部实时钟占用0-1dH的单元来保存时间信息,其余的大部分单元用于保存系统配置信息,供系统启动时BIOS程序读取
4.CMOS芯片内部有两个端口,端口地址为70H和71H,CPU通过这两个端口读写COMS的RAM
5.70为地址端口,存放要访问的CMOS的RAM单元的地址,71H为数据端口,存放从选中的CMOS的RAM单元中读取的数据,或要写入的数据
可见CPU对COMS RAM的读写分为两步进行 如:读取COMS RAM的2号单元: 1.将2号送入端口70H,2从71H读取2号单元的内容
   
    shl 和 shr 指令:分别是逻辑左移和逻辑右移指令,具体的执行过程如下:
    1.将一个寄存器或内存单元中的数据左移(shl)一位
    2.将最后移出的一位写入CF中
    3.最低位用0补充

    例如: mov al,01001000B
      shl al,1  ;将al中的数据左移一位
      执行后al 中的数据 = 1001000B  ,CF = 0
      如果移动的位数大于1时,必须将移动位数放入CL中
     若:  mov al,0101001B
           mov cl,3
           shl al,
           此时,cl = 010,则CF=0,是保存最后一位移出的值

    shr:操作和 shl相反,就是将数据右移N位,然后最高位补零,把右移的最后一位放入CF中,所有的移出位放入CL中

    CMOS RAM中存放着当前时间信息:
    秒:00H,分:02H,时:04H,日:07H,月:08H,年:09H ,这些信息的长度都是一个字节 

    BCD码: 
    数码&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值