zoukankan      html  css  js  c++  java
  • 汇编学习笔记32

    第32讲内容为外设与CPU数据传送的几种方式

    其中,讲了RT/CMOS RAM的传送方式

    系统为RT/CMOS RAM分配的端口地址为70H~71H。可通过IN/OUT进行存取。存取内部64个字节时,先把要存取的单元地址送入70H,再存取端口71H。

    例: 读取:

    MOV AL, n  ; 要存取的单元地址

    OUT 70H, AL

    JMP $ + 2   ; 延时

    IN AL, 71H

    存储:

    MOV AL, n

    OUT 70H, AL

    JMP $ + 2

    out 71H, AL

    查询方式传送数据:

    查询设备状态,若设备就绪,则立即与设备进行数据交换,否则循环查询。状态寄存器有一个位来表示外设是否准备好。

    IN AL, STAT_PORT

    TEST AL, 80H

    读入数据时状态信息应清0

    例: 假定串行通讯口输入数据,寄存器的端口地址为50H,状态寄存器的端口地址为51H,状态寄存器各位为1时含义如下,请编写一程序输入一串字符并存入缓冲区BUFF,同时检测正确性

    状态寄存器:

    0- 输出寄存器空

    1- 输入寄存器空

    3- 奇偶校验错

    4- 溢出错

    5- 格式错

    MOV DI, 0

    mov CX, 80

    ONE: IN AL, 51H

    TEST AL, 02H

    JZ ONE

    IN AL, 50H

    MOV BUFF[DI], AL

    INC DI

    IN AL, 51H

    TEST AL, 38H

    JZ ERR

    LOOP ONE

    JMP EXIT

    ERR:……

    EXIT……

  • 相关阅读:
    mysql批量替换指定字符串
    php中英字符串截取
    比较两个JSON字符串是否完全相等
    Java FastJson 介绍
    线程池
    DBUS及常用接口介绍
    在Mac中如何正确地设置JAVA_HOME
    base64 原理
    sizeof与strlen的区别
    Kubernetes 部署失败的 10 个最普遍原因
  • 原文地址:https://www.cnblogs.com/hailong/p/1921059.html
Copyright © 2011-2022 走看看