CODE SEGMENT
ASSUMECS:CODE, DS:CODE, ES:CODE, SS:CODE
PPIC_C EQU 1FH
PPIC EQU 1DH
PPIB EQU 1BH
PPIA EQU 19H
ORG 1000H
MOV AX, 0
MOV AL, 10000000B
OUT PPIC_C, AL
MOV CX, 50
MOV AL, 11101110B
L1: OUT PPIB, AL
PUSH CX
MOV CX, 0
LOOP $
POP CX
ROL AL, 1
LOOP L1
HLT
CODE ENDS
答案 0 :(得分:0)
该代码可能与可编程外设接口8255配合使用。
首先将0x80写入PPI控制寄存器,将端口B配置为输出端口。
然后将AL
中的位模式写入端口B 50次,每次都有软件延迟。每次写入端口B后,AL
中的数据向左旋转。从最高位7开始的位被旋转到最低位0.因此该值每写入第8次重复。
它实际上做什么,将取决于连接到PPI端口B的内容。
答案 1 :(得分:0)
端口1Bh每次连续写入50次,值略有不同 在写入之间花费一些时间来让外围设备做出反应。
PUSH CX
MOV CX, 0
LOOP $
POP CX
这是一个延迟循环。