假定系统地总线16位,低9位为A8~A0
A8 A7 A6 A5 A4 A3 A2 A1 A0
A口地址: 1 0 0 1 1 0 0 0 1 b = 0131h
B口地址: 1 0 0 1 1 0 0 1 1 b = 0133h
C口地址: 1 0 0 1 1 0 1 0 1 b = 0135h
控制口地址:1 0 0 1 1 0 1 1 1 b = 0137h
D7 D6 D5 D4 D3 D2 D1 D0 8255A控制字:
1 0 0 1 0 0 0 0 b, A口方式0输入,B口方式0输出
80x86汇编语言初始化程序:
CODE SEGMENT
ASSUME CS:CODE
START: MOV AL, 10010000b ;AL←方式控制字
MOV DX, 0137h ;DX←8255A控制口地址
OUT DX, AL ;方式控制字→8255控制口
......
INPUT: MOV DX, 0131h ;DX←8255A_A口地址
IN AL, DX ;从A口读入按键状态
......
OUTPUT: MOV DX, 0133h ;DX←8255A_B口地址
OUT DX, AL ;控灯数码→B口
......
CODE ENDS
END START