• 汇编语言-第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码形式存放。

  • 相关阅读:
    (zhuan) How to Train Neural Networks With Backpropagation
    (转)Introduction to Gradient Descent Algorithm (along with variants) in Machine Learning
    Learning to Compare Image Patches via Convolutional Neural Networks --- Reading Summary
    Unsupervised Image-to-Image Translation Networks --- Reading Writing
    (转) RNN models for image generation
    (zhuan) 126 篇殿堂级深度学习论文分类整理 从入门到应用
    (zhuan) Where can I start with Deep Learning?
    (zhuan) LSTM Neural Network for Time Series Prediction
    (zhuan) awesome-object-proposals
    Face Aging with Conditional Generative Adversarial Network 论文笔记
  • 原文地址:https://www.cnblogs.com/tsembrace/p/3267177.html
Copyright © 2020-2023  润新知