📄 123.asm
字号:
MY8255_A EQU 9C60H
MY8255_B EQU 9C61H
MY8255_C EQU 9C62H
MY8255_M EQU 9C63H
DATAS SEGMENT
X DB ?
DATAS ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
MOV DX,MY8255_M
MOV AL,82H
OUT DX,AL
A0:MOV DX,MY8255_B
IN AL,DX
MOV X,AL
MOV DX,MY8255_A
OUT DX,AL
CALL DELAY
XOR X,0FEH
JZ CIRCUIT1
MOV X,AL
XOR X,0FCH
JZ CIRCUIT2
MOV X,AL
A1:XOR X,0F8H
JZ CIRCUIT3
MOV X,AL
XOR X,0F0H
JZ CIRCUIT4
JMP A0
CIRCUIT1:ROL AL,1
MOV AH,AL
MOV DX,MY8255_A
OUT DX,AL
CALL DELAY
MOV DX,MY8255_B
IN AL,DX
CMP AL,0FEH
JNZ A0
MOV AL,AH
JMP CIRCUIT1
CIRCUIT2:MOV CL,2
ROL AL,CL
MOV AH,AL
MOV DX,MY8255_A
OUT DX,AL
CALL DELAY
MOV DX,MY8255_B
IN AL,DX
CMP AL,0FCH
JNZ A0
MOV AL,AH
JMP CIRCUIT2
CIRCUIT3:MOV CL,3
ROL AL,CL
MOV AH,AL
MOV DX,MY8255_A
OUT DX,AL
CALL DELAY
MOV DX,MY8255_B
IN AL,DX
CMP AL,0F8H
JNZ A0
MOV AL,AH
JMP CIRCUIT3
CIRCUIT4:MOV CL,4
ROL AL,CL
MOV AH,AL
MOV DX,MY8255_A
OUT DX,AL
CALL DELAY
MOV DX,MY8255_B
IN AL,DX
CMP AL,0F0H
JZ JUMP
JMP A0
JUMP:MOV AL,AH
JMP CIRCUIT4
DELAY:MOV CX,0FFFH
D1:MOV BX,0FFFFH
D2:DEC BX
JNZ D2
LOOP D1
RET
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -