📄 100.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,0FDH
JZ CIRCUIT2
MOV X,AL
XOR X,07EH
JZ CIRCUIT3
MOV X,AL
XOR X,0BDH
JZ CIRCUIT4
MOV X,AL
XOR X,07FH
JZ J5
MOV X,AL
XOR X,0BFH
JZ J6
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
JZ JUMP1
JMP A0
JUMP1: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,0FDH
JZ JUMP2
JMP A0
JUMP2:MOV AL,AH
JMP CIRCUIT2
CIRCUIT3: MOV AL, 0FEH
MOV BL,07FH
C3:MOV CL,1
ROL AL,CL
ROR BL,CL
MOV AH,AL
MOV BH,BL
NOT BL
NOT AL
ADD AL,BL
NOT AL
MOV DX,MY8255_A
OUT DX,AL
CALL DELAY
MOV DX,MY8255_B
IN AL,DX
CMP AL,07EH
JZ JUMP3
JMP A0
JUMP3:MOV AL,AH
MOV BL,BH
JMP C3
J5:JMP CIRCUIT5
J6:JMP CIRCUIT6
CIRCUIT4:MOV AL,0FDH
MOV BL,0BFH
C4: MOV CL,2
ROL AL,CL
ROR BL,CL
MOV AH,AL
MOV BH,BL
NOT BL
NOT AL
ADD AL,BL
NOT AL
MOV DX,MY8255_A
OUT DX,AL
CALL DELAY
MOV DX,MY8255_B
IN AL,DX
CMP AL,0BDH
JZ JUMP4
JMP A0
JUMP4:MOV AL,AH
MOV BL,BH
JMP C4
CIRCUIT5:ROR AL,1
MOV AH,AL
MOV DX,MY8255_A
OUT DX,AL
CALL DELAY
MOV DX,MY8255_B
IN AL,DX
XOR AL,07FH
JZ JUMP5
JMP A0
JUMP5: MOV AL,AH
JMP CIRCUIT5
CIRCUIT6:MOV CL,2
ROR AL,CL
MOV AH,AL
MOV DX,MY8255_A
OUT DX,AL
CALL DELAY
MOV DX,MY8255_B
IN AL,DX
XOR AL,0BFH
JZ JUMP6
JMP A0
JUMP6:MOV AL,AH
JMP CIRCUIT6
DELAY:MOV CX,0FFFH
D1:MOV DI,0FFFFH
D2:DEC DI
JNZ D2
LOOP D1
RET
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -