8255A的应用编程:使A口为方式出、B口为方式0输入。从B口输入数据,循环左移一位后再输出到A口。循环10次。设A、B、C和控制口的地址分别是888H、889H、88AH和88BH
时间: 2023-12-19 15:04:05 浏览: 89
以下是8255A的应用编程:
```
MOV AL, 82H ; 选择8255A,端口地址为82H
MOV DX, 888H ; 将A口的地址888H送入DX
OUT AL, DX ; 输出到控制口
MOV DX, 889H ; 将B口的地址889H送入DX
MOV AL, 00H ; 将A口设置为方式0输出
OUT AL, DX ; 输出到控制口
MOV DX, 88AH ; 将C口的地址88AH送入DX
MOV AL, 80H ; 将B口设置为方式1输入
OUT AL, DX ; 输出到控制口
MOV CX, 10 ; 设置循环次数为10
MOV DX, 889H ; 将B口的地址889H送入DX
MOV BX, 888H ; 将A口的地址888H送入BX
loop_start: ; 循环开始
IN AL, DX ; 从B口输入数据
ROL AL, 1 ; 循环左移一位
OUT DX, AL ; 输出到B口
IN AL, DX ; 从B口输入数据
OUT BX, AL ; 输出到A口
LOOP loop_start ; 循环
MOV AL, 00H ; 将A口设置为方式0输入
OUT AL, DX ; 输出到控制口
MOV AL, 80H ; 将B口设置为方式1输出
MOV DX, 889H ; 将B口的地址889H送入DX
OUT AL, DX ; 输出到控制口
```
以上代码实现了将8255A的A口设置为方式0输出,B口设置为方式1输入,并循环从B口输入数据,左移一位后再输出到A口,循环10次。最后将A口设置为方式0输入,B口设置为方式1输出。
阅读全文