各位大神,我自己认真做了一个汇编语言的交通灯
protues吧
全部回复
仅看楼主
level 1
2012xlt 楼主
但是仿真出来的结果老是在8086附近端口就显示黄色,是我程序不对,还是连线不对,求各位告诉一下,感激不尽,
IO8255A EQU 0F0H
IO8255B EQU 0F2H
IO8255C EQU 0F4H
IO8255CON EQU 0F6H
IO8253_0 EQU 0F5H
IO8253_1 EQU 0F7H
IO8253_2 EQU 0F9H
IO8253CON EQU 0FBH ;此处输入数据段代码
CODES SEGMENT
ASSUME CS:CODES
START:
MOV DX,IO8253CON
MOV AL,00110111B
OUT DX,AL
MOV DX,IO8253_0
MOV AL,00H
OUT DX,AL
MOV AL,10H
OUT DX,AL
MOV DX,IO8253CON
MOV AL,01110111B
OUT DX,AL
MOV DX,IO8253_1
MOV AL,00H
OUT DX,AL
MOV AL,01H
OUT DX,AL
MOV DX,IO8255CON
MOV AL,10001011B
OUT DX,AL
T:MOV DX,IO8255B
IN AL,DX
Z0: CMP AL,00H
JNZ Z1
MOV DX,IO8255A
MOV AL,11111111B
OUT DX,AL
Z1: CMP AL,01H
JNZ Z2
TURN_LEFT:MOV DX,IO8255C
IN AL,DX
AND AL,01H
CMP AL,01H
JNZ Y1
MOV AX,11010101B
MOV DX,IO8255A
OUT DX,AX
JMP T
Y1:MOV DX,IO8255A
MOV AX,0FFH
OUT DX,AX
JMP T
Z2: CMP AL,02H
JNZ Z3
TURN_RIGHT:MOV DX,IO8255C
IN AL,DX
AND AL,02H
CMP AL,02H
JNZ Y2
MOV AX,11101010B
MOV DX,IO8255A
OUT DX,AX
JMP T
Y2:MOV DX,IO8255A
MOV AX,0FFH
OUT DX,AX
JMP T
Z3: CMP AL,04H
JNZ Z4
EMERGENCY:MOV DX,IO8255C
IN AL,DX
AND AL,04H
CMP AL,04H
JNZ Y3
MOV AX,11000000B
MOV DX,IO8255A
OUT DX,AX
JMP Z0
Y3:MOV DX,IO8255A
MOV AX,0FFH
OUT DX,AX
JMP T
Z4: CMP AL,08H
JNZ Z5
SHACHE:MOV AX,11111100B
MOV DX,IO8255A
OUT DX,AX
Z5: CMP AL,10H
JNZ Z6
PARKING:MOV DX,IO8255C
IN AL,DX
AND AL,10H
CMP AL,10H
JNZ Y5
MOV AX,11000000B
MOV DX,IO8255A
OUT DX,AX
JMP T
Y5:MOV DX,IO8255A
MOV AX,0FFH
OUT DX,AX
JMP T
Z6: CMP AL,09H
JNZ Z7
LEFTSHACHE:MOV DX,IO8255C
IN AL,DX
AND AL,09H
CMP AL,09H
JNZ Y6
MOV AX,11010100B
MOV DX,IO8255A
OUT DX,AX
JMP T
Y6:MOV DX,IO8255A
MOV AX,1111110B
OUT DX,AX
JMP T
Z7: CMP AL,0AH
JNZ Z8
RIGHTSHACHE:MOV DX,IO8255C
IN AL,DX
AND AL,0AH
CMP AL,0AH
JNZ Y7
MOV AX,11101000B
MOV DX,IO8255A
OUT DX,AX
JMP T
Y7:MOV DX,IO8255A
MOV AX,11111101B
OUT DX,AX
JMP T
Z8: CMP AL,0CH
JNZ Z9
EMERSHACHE:MOV DX,IO8255C
IN AL,DX
AND AL,0CH
CMP AL,0CH
JNZ Y8
MOV AX,00000000B
MOV DX,IO8255A
OUT DX,AX
JMP T
Y8:MOV DX,IO8255A
MOV AX,11110011B
OUT DX,AX
JMP T
Z9: CMP AL,0DH
JNZ Z10
LETUESHACHE:MOV DX,IO8255C
IN AL,DX
AND AL,0DH
CMP AL,0DH
JNZ Y10
MOV AX,00000000B
MOV DX,IO8255A
OUT DX,AX
JMP T
Y9:MOV DX,IO8255A
MOV AX,11111110B
OUT DX,AX
JMP T
Z10: CMP AL,0DH
JNZRITUESHACHE
JMP T
RITUESHACHE:MOV DX,IO8255C
IN AL,DX
AND AL,0EH
CMP AL,0EH
JNZ Y10
MOV AX,00000000B
MOV DX,IO8255A
OUT DX,AX
JMP T
Y10:MOV DX,IO8255A
MOV AX,11111101B
OUT DX,AX
JMP Z0
;此处输入代码段代码
CODES ENDS
END START
2014年05月30日 18点05分 1
1