zoukankan      html  css  js  c++  java
  • 汇编语言-第14章

    第十四章 端口
    *PC机中,和CPU通过总线相连的芯片除了各种寄存器外,还有以下三种芯片:1、各种接口卡(如网卡、显卡)上的接口芯片,他们控制接口卡进行工作;2、主板上的接口芯片,CPU通过他们对部分外设进行访问;3、其他芯片,用来存储相关系统信息,或进行相关的输入输出处理。
    上述三种芯片都有一组供CPU读写的寄存器,物理上可能处于不同的芯片中,但均具备以下特点:

    1、所在的芯片与CPU通过总线相连;

    2、CPU对这些芯片进行读写操作时都通过控制线向其所在的芯片发出端口读写指令;

    3、从CPU的角度,讲这些寄存器都当做端口,并对他们进行统一编址,建立统一的端口地址空间,每个端口在地址空间中均有一个地址。

    *端口的读写
    (1)PC系统中CPU最多可定为64KB个端口,端口地址范围为0~65536,即0h~ffffh;
    (2)端口读写指令为in、out;如in al,60h表示从60h号端口读取数据放入al寄存器;out 60h,al 表示将al内的数据写入60h号端口;
    (3)对0~255号端口,读写操作时可直接用地址表示;对256~65536号端口,端口号须先存入dx中,再通过in/out指令对dx进行操作;
    (4)在in/out指令中,只能使用ax或al存放要读取或写入端口的数据;

    *CMOS RAM芯片
    (1)CMOS包含一个实时钟和一个有128个存储单元的RAM存储器;CMOS芯片依靠电池供电,关机后实时钟仍可工作,RAM信息不丢失;
    (2)128个存储单元中0~0dh单元用来保存时间信息;其余大部分保存系统配置信息,供系统启动时BIOS程序读取;
    (3)CMOS芯片有两个端口:70h、71h。70h为地址端口,用于存放要访问的CMOS RAM单元的地址,71h为数据端口,存放从选定的RAM单元中读取/写入的数据。
    (4)基于上述(3),对CMOS的操作一般分为两步:a.将需要进行操作的RAM单元地址送入70h;b.从71h中读取或者写入数据。

    *shl和shr指令
    (1)操作对象为内存单元或寄存器,即8位或16位;
    (2)shl:左移指令;如al=01100011B,shl al,1执行后,al=11000110B,同时原数的最高位‘0’保存至CF标志位。
    (3)如果左移位数超过1,则用cl存储移位数量,例:mov al,00110011B;mov cl,2;shl al,cl   执行后al=11001100B,CF=0(对超过1的移位,CF中存放的是最后一个被移出的bit位数据。
    (4)shr:右移指令,与shl类似。

    *CMOS中时间信息
    (1)时间信息对应RAM存储单元:
    秒:0;分:2;时:4;日:7;月:8;年:9;
    (2)BCD码:以4位二进制数表示十进制的方法,如BCD码为0001 1000对应十进制为18;
    (3)CMOS中时间信息以BCD码形式存放。

  • 相关阅读:
    eBay商家五大市场调研工具
    最新Android ADT, SDK, SDK_tool等官方下载说明
    Android——关于ListView控件的使用方法
    Auto CAD的相关问题·绘图单位
    淘宝数据分析之数据分析工具的三个需求层次
    电阻器阻值标识的相关知识
    Android软件开发之ListView 详解
    解决android模拟器划动手势时自动输入字母“c” 的问题
    争辩:关于输出大电流的移动电源给小电流的手机充电的问题
    关于C51的中断函数要注意的几个问题
  • 原文地址:https://www.cnblogs.com/tsembrace/p/3267177.html
Copyright © 2011-2022 走看看