📄 trafficlight.asm
字号:
JNC NEXT32
MOV AL,10
NEXT32: PUSH AX
PUSH CX
INT 10H
POP CX
POP AX
INC CX
DEC COUNT3
JNZ RETRY36
INC SI
DEC COUNT2
JNZ RETRY35
INC DX
MOV CX,CORLUM3
DEC COUNT1
JNZ RETRY34
RET
DENG3 ENDP
MIE3 PROC NEAR
MOV AH,0CH
MOV DX,LINE1
MOV CX,CORLUM3
MOV SI,OFFSET DENG_8X16DOT
MOV COUNT1,8
RETRY31:MOV COUNT2,2
RETRY32:MOV COUNT3,8
RETRY33:ROL BYTE PTR [SI],1
MOV AL,0
JNC NEXT31
MOV AL,7
NEXT31: PUSH AX
PUSH CX
INT 10H
POP CX
POP AX
INC CX
DEC COUNT3
JNZ RETRY33
INC SI
DEC COUNT2
JNZ RETRY32
INC DX
MOV CX,CORLUM3
DEC COUNT1
JNZ RETRY31
RET
MIE3 ENDP
DENG4 PROC NEAR
MOV AH,0CH
MOV DX,LINE2
MOV CX,CORLUM4
MOV SI,OFFSET DENG_8X16DOT
MOV COUNT1,8
RETRY41: MOV COUNT2,2
RETRY42: MOV COUNT3,8
RETRY43: ROL BYTE PTR [SI],1
MOV AL,0
JNC NEXT41
MOV AL,4
NEXT41: PUSH AX
PUSH CX
INT 10H
POP CX
POP AX
INC CX
DEC COUNT3
JNZ RETRY43
INC SI
DEC COUNT2
JNZ RETRY42
INC DX
MOV CX,CORLUM4
DEC COUNT1
JNZ RETRY41
RET
DENG4 ENDP
MIE4 PROC NEAR
MOV AH,0CH
MOV DX,LINE2
MOV CX,CORLUM4
MOV SI,OFFSET DENG_8X16DOT
MOV COUNT1,8
RETRY44: MOV COUNT2,2
RETRY45: MOV COUNT3,8
RETRY46: ROL BYTE PTR [SI],1
MOV AL,0
JNC NEXT42
MOV AL,7
NEXT42: PUSH AX
PUSH CX
INT 10H
POP CX
POP AX
INC CX
DEC COUNT3
JNZ RETRY46
INC SI
DEC COUNT2
JNZ RETRY45
INC DX
MOV CX,CORLUM4
DEC COUNT1
JNZ RETRY44
RET
MIE4 ENDP
DENG5 PROC NEAR
MOV AH,0CH
MOV DX,LINE3
MOV CX,CORLUM4
MOV SI,OFFSET DENG_8X16DOT
MOV COUNT1,8
RETRY51: MOV COUNT2,2
RETRY52: MOV COUNT3,8
RETRY53: ROL BYTE PTR [SI],1
MOV AL,0
JNC NEXT51
MOV AL,14
NEXT51: PUSH AX
PUSH CX
INT 10H
POP CX
POP AX
INC CX
DEC COUNT3
JNZ RETRY53
INC SI
DEC COUNT2
JNZ RETRY52
INC DX
MOV CX,CORLUM4
DEC COUNT1
JNZ RETRY51
RET
DENG5 ENDP
MIE5 PROC NEAR
MOV AH,0CH
MOV DX,LINE3
MOV CX,CORLUM4
MOV SI,OFFSET DENG_8X16DOT
MOV COUNT1,8
RETRY54: MOV COUNT2,2
RETRY55: MOV COUNT3,8
RETRY56: ROL BYTE PTR [SI],1
MOV AL,0
JNC NEXT52
MOV AL,7
NEXT52: PUSH AX
PUSH CX
INT 10H
POP CX
POP AX
INC CX
DEC COUNT3
JNZ RETRY56
INC SI
DEC COUNT2
JNZ RETRY55
INC DX
MOV CX,CORLUM4
DEC COUNT1
JNZ RETRY54
RET
MIE5 ENDP
DENG6 PROC NEAR
MOV AH,0CH
MOV DX,LINE4
MOV CX,CORLUM4
MOV SI,OFFSET DENG_8X16DOT
MOV COUNT1,8
RETRY61:MOV COUNT2,2
RETRY62:MOV COUNT3,8
RETRY63:ROL BYTE PTR [SI],1
MOV AL,0
JNC NEXT61
MOV AL,10
NEXT61: PUSH AX
PUSH CX
INT 10H
POP CX
POP AX
INC CX
DEC COUNT3
JNZ RETRY63
INC SI
DEC COUNT2
JNZ RETRY62
INC DX
MOV CX,CORLUM4
DEC COUNT1
JNZ RETRY61
RET
DENG6 ENDP
MIE6 PROC NEAR
MOV AH,0CH
MOV DX,LINE4
MOV CX,CORLUM4
MOV SI, OFFSET DENG_8X16DOT
MOV COUNT1,8
RETRY64:MOV COUNT2,2
RETRY65:MOV COUNT3,8
RETRY66:ROL BYTE PTR [SI],1
MOV AL,0
JNC NEXT62
MOV AL,7
NEXT62: PUSH AX
PUSH CX
INT 10H
POP CX
POP AX
INC CX
DEC COUNT3
JNZ RETRY66
INC SI
DEC COUNT2
JNZ RETRY65
INC DX
MOV CX,CORLUM4
DEC COUNT1
JNZ RETRY64
RET
MIE6 ENDP
LU1 PROC NEAR
MOV AH,0CH
MOV DX,0
REPET1: MOV CX,0
MOV AL,1
REPET2: PUSH AX
INT 10H
POP AX
INC CX
CMP CX,100
JNZ REPET2
INC DX
CMP DL,70
JNZ REPET1
MOV AH,0CH
MOV DX,130
REPET3: MOV CX,0
MOV AL,1
REPET4: PUSH AX
INT 10H
POP AX
INC CX
CMP CX,100
JNZ REPET4
INC DX
CMP DL,200
JNZ REPET3
MOV AH,0CH
MOV DX,130
REPET5:MOV CX,220
MOV AL,1
REPET6:PUSH AX
INT 10H
POP AX
INC CX
CMP CX,320
JNZ REPET6
INC DX
CMP DL,200
JNZ REPET5
MOV AH,0CH
MOV DX,0
REPET7:MOV CX,220
MOV AL,1
REPET8:PUSH AX
INT 10H
POP AX
INC CX
CMP CX ,320
JNZ REPET8
INC DX
CMP DL,70
JNZ REPET7
RET
LU1 ENDP
CARZHIXIAN PROC NEAR
CALL A1
JE EXIT4
CMP COUNT_TIME,450D
JGE EXIT4
MOV AH,0CH
MOV DX,LINE8
MOV CX,CORLUM
MOV SI,OFFSET CAR1_8X16DOT
MOV COUNT1,8
REP22:MOV COUNT2,2
REP23:MOV COUNT3,8
REP24:ROL BYTE PTR [SI],1
MOV AL,0
JNC NEX5
MOV AL,15
NEX5: CALL B1
JNZ REP24
INC SI
DEC COUNT2
JNZ REP23
INC DX
MOV CX,CORLUM
DEC COUNT1
JNZ REP22
MOV COUNT1,120
MOV CX,CORLUM
ADD CX,15
REP25:PUSH CX
MOV COUNT2,16+1
REP26:MOV DX,LINE8
MOV COUNT3,8
REP27:MOV AH,0DH
INT 10H
MOV AH,0CH
PUSH CX
PUSH CX
MOV ECX,0000FFFFH
DDD2: LOOPD DDD2
POP CX
INC CX
INT 10H
POP CX
PUSH CX
MOV ECX,0000FFFFH
DDD: LOOPD DDD
POP CX
INC DX
DEC COUNT3
JNZ REP27
DEC CX
DEC COUNT2
JNZ REP26
POP CX
INC CX
CMP COUNT_TIME,450D
JGE EXIT4
CALL A1
JE EXIT4
DEC COUNT1
JNZ REP25
EXIT4:CALL XIAO3
RET
CARZHIXIAN ENDP
CARGANDOWN1 PROC NEAR
CALL D1
JE C50
CALL E1
JE EXIT5
C50: MOV AH,0CH
MOV DX,LINE9
MOV CX,CORLUM5
MOV SI,OFFSET CAR3_8X16DOT
MOV COUNT1,8
REP28:MOV COUNT2,2
REP29:MOV COUNT3,8
REP30:ROL BYTE PTR [SI],1
MOV AL,0
JNC NEX6
MOV AL,9
NEX6: PUSH AX
PUSH CX
INT 10H
POP CX
POP AX
INC CX
DEC COUNT3
JNZ REP30
INC SI
DEC COUNT2
JNZ REP29
INC DX
MOV CX,CORLUM5
DEC COUNT1
JNZ REP28
MOV COUNT1,60
MOV DX,LINE9
ADD DX,7
REP31:PUSH DX
MOV COUNT2,8+1
REP32:MOV CX,CORLUM5
MOV COUNT3,16
REP33:CALL F1
JNZ REP33
DEC DX
DEC COUNT2
JNZ REP32
POP DX
INC DX
CALL D1
JE C5
CALL E1
JE EXIT5
C5: DEC COUNT1
JNZ REP31
EXIT5:CALL XIAO1
RET
CARGANDOWN1 ENDP
CARGANUP1 PROC NEAR
CALL D1
JE C60
CALL E1
JE EXIT6
C60: MOV AH,0CH
MOV DX,LINE9
MOV CX,CORLUM6
MOV SI,OFFSET CAR3_8X16DOT
MOV COUNT1,8
REP36:MOV COUNT2,2
REP37:MOV COUNT3,8
REP38:ROL BYTE PTR [SI],1
MOV AL,0
JNC NEX7
MOV AL,9
NEX7: CALL B1
JNZ REP38
INC SI
DEC COUNT2
JNZ REP37
INC DX
MOV CX,CORLUM6
DEC COUNT1
JNZ REP36
MOV COUNT1,60
MOV DX,LINE9
ADD DX,7
REP39:PUSH DX
MOV COUNT2,8+1
REP40:MOV CX,CORLUM6
MOV COUNT3,16
REP41:CALL F1
JNZ REP41
DEC DX
DEC COUNT2
JNZ REP40
POP DX
INC DX
CALL D1
JE C6
CALL E1
JE EXIT6
C6: DEC COUNT1
JNZ REP39
EXIT6:CALL XIAO1
RET
CARGANUP1 ENDP
CARGANDOWN2 PROC NEAR
CALL D1
JE C70
CALL E1
JE EXIT7
C70: MOV AH,0CH
MOV DX,LINE10
MOV CX,CORLUM7
MOV SI,OFFSET CAR2_8X16DOT
MOV COUNT1,8
REP42:MOV COUNT2,2
REP43:MOV COUNT3,8
REP44:ROL BYTE PTR [SI],1
MOV AL,0
JNC NEX8
MOV AL,11
NEX8: CALL B1
JNZ REP44
INC SI
DEC COUNT2
JNZ REP43
INC DX
MOV CX,CORLUM7
DEC COUNT1
JNZ REP42
MOV COUNT1,60
MOV DX,LINE10
REP45:PUSH DX
MOV COUNT2,8+1
REP46:MOV CX,CORLUM7
MOV COUNT3,16
REP47:CALL NN1
JNZ REP47
INC DX
DEC COUNT2
JNZ REP46
POP DX
DEC DX
CALL D1
JE C7
CALL E1
JE EXIT7
C7: DEC COUNT1
JNZ REP45
EXIT7:CALL XIAO2
RET
CARGANDOWN2 ENDP
CARGANUP2 PROC NEAR
CALL D1
JE C80
CALL E1
JE EXIT8
C80: MOV AH,0CH
MOV DX,LINE10
MOV CX,CORLUM8
MOV SI,OFFSET CAR2_8X16DOT
MOV COUNT1,8
REP48:MOV COUNT2,2
REP49:MOV COUNT3,8
REP50:ROL BYTE PTR [SI],1
MOV AL,0
JNC NEX9
MOV AL,11
NEX9: CALL B1
JNZ REP50
INC SI
DEC COUNT2
JNZ REP49
INC DX
MOV CX,CORLUM8
DEC COUNT1
JNZ REP48
MOV COUNT1,60
MOV DX,LINE10
REP51:PUSH DX
MOV COUNT2,8+1
REP52:MOV CX,CORLUM8
MOV COUNT3,16
REP53:CALL NN1
JNZ REP53
INC DX
DEC COUNT2
JNZ REP52
POP DX
DEC DX
CALL D1
JE C8
CALL E1
JE EXIT8
C8: DEC COUNT1
JNZ REP51
EXIT8:CALL XIAO2
RET
CARGANUP2 ENDP
XIAO1 PROC NEAR
MOV AH,0CH
MOV DX,20
REPE1: MOV CX,110
MOV AL,0
REPE2: CALL HHH1
CMP CX,128
JNZ REPE2
INC DX
CMP DL,160
JNZ REPE1
RET
XIAO1 ENDP
XIAO2 PROC NEAR
MOV AH,0CH
MOV DX,20
REPE3: MOV CX,190
MOV AL,0
REPE4: CALL HHH1
CMP CX,208
JNZ REPE4
INC DX
CMP DL,160
JNZ REPE3
RET
XIAO2 ENDP
XIAO3 PROC NEAR
MOV AH,0CH
MOV DX,120
REPE5: MOV CX,0
MOV AL,0
REPE6: CALL HHH1
CMP CX,320
JNZ REPE6
INC DX
CMP DL,128
JNZ REPE5
RET
XIAO3 ENDP
XIAO4 PROC NEAR
MOV AH,0CH
MOV DX,70
REPE7: MOV CX,0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -