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……

  • 相关阅读:
    ADO.NET调用存储过程
    存储过程
    web Servise(服务)
    ADO.NET连接池
    ADO.NET
    常用语法2
    常用语法
    修改pip源为国内网站
    模块
    random模块
  • 原文地址:https://www.cnblogs.com/hailong/p/1921059.html
Copyright © 2011-2022 走看看