汇编学习笔记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……

原文地址:https://www.cnblogs.com/hailong/p/1921059.html