(14)端口

1、端口:是一个二传手。CPU控制外设,不能直接操纵,须通过一个接口(二传手)来控制。这个接口就由多个端口组成。

    比如网卡,不能直接操作,须通过网卡上的接口电路来操作,这个接口电路也分一些寄存器等,我们只须看它为端口。

     因此,端口象视存储一样,被映射到地址空间中,这样CPU才可能操作端口,端口再操作外设的动作。这样有一个好处

      就是CPU不需要了解每个厂商的设计,只对端口进行操作,厂商会根据自己的设计把相关命令转化为相应的动作。

        CPU<----->接口电路(端口)<------->外设


2、端口同内存地址一样,通过地址总线来传送。按时段的偏移量,它最多就是64K个不同的端口(FFFFH),即65535个


3、端口的读写。读:就是由端口到CPU,用in

                              写:就是由CPU到端口,用out

      操作数的方向都是从右边(源)到左边(目的)。

        in al,60H,   ;从60H端口到CPU的al,读操作。过程:通过地址总线发出60H,控制线发出端口读命令,这样,60H端口就将数据传到CPU(al)中。

        out  20h,al    ;把al中内容写到20H端口中。

      注意:int和out只能使用ax或al来存放 从端口中诗篇的数据或要发送到端口中的数据。访问8位用al,访问16位用ax

       另外,端口有限制:对255内的可以直接用立即数表示,但对于265到65535的得用dx来进行表示 。

                   in   al,20

                   out 20h,al

             ----------------------

                  mov dx,3f8h      ;必须用dx来替换

                   in    al,dx

                  out   dx,al


4、cmos RAM含实时钟及128存储字节,0-0DH保存时间信息。

      其余大部分保存配置信息,供系统启动时Bios来读取。


5、CMOS内部有两端口,70H、71H。这就为CPU操作CMOS提供的接口。

      70H端口存放CMOS中RAM的地址单元,即,地址

     71H端口存放对应地址单元的数据            即,数据

       例:读2号单元:

                mov al,2

                out 70H,al

                in    al,71H


6、逻辑移位,shl(shift  logic left)    shr(shift logic right)

       shl    左移,最后移出的一位进入CF,低位用0补充

        SHR   右移,最后移出的一位进入CF,高位用0补充。

       注意:1,最后移出的一位都要进入监狱CF,

                   2、次数超过1都要用CL来代替执行,(如同端口大于 255,用DX一样)

                     mov cl,3

                     shl   al,cl


7、CMOS中存储时间的地址表。都用“一个字节”来表示对应的年月日时分秒

                    0:秒      2:分     4:时    7:日   8:月     9:年

       存储形式按BCD码,即四位表示一个数,这个四位的十进制就是。如0001 0010  一个字节表示两个数据,即12



                    

               


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值