You are on page 1of 3

CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE,SS:CODE

PPIC_C EQU 1FH

PPIC EQU 1DH

PPIB EQU 1BH

PPIA EQU 19H

ORG 1000H

MOV AL,10000000B

OUT PPIC_C,AL

MOV AL,00000000B

OUT PPIC,AL

L2: MOV SI,OFFSET DATA1

L1: MOV AL,BYTE PTR CS:[SI]

OUT PPIA,AL

CALL TIMER

CALL ROTAT

CMP AL,00H

JE L2

CMP AL,11000000B ;D

JE LED1

L3:

INC SI

JMP L1

ROTAT:

PUSH AX

MOV AL,11111110B ;A

OUT PPIA,AL

CALL TIMER
MOV AL,11011111B ;F

R1:

OUT PPIA,AL

CALL TIMER

ROR AL,1

CMP AL,11111110B

JNE R1

POP AX

RET

LED1:

MOV AL,10000000B ;8

OUT PPIA,AL

CALL TIMER

MOV BX,OFFSET DATA2

JMP LED2

LED3:

INC BX

LED2:

MOV AL,BYTE PTR ES:[BX]

OUT PPIB,AL

CALL TIMER

CMP AL,00000100B

JMP L3
TIMER: MOV CX,0

TIMER1: NOP

LOOP TIMER1

RET

DATA1: DB 10001000B ;A

DB 10000000B ;B

DB 11000110B ;C

DATA2: DB 00000010B ;B

DB 00000100B ;C

CODE ENDS

END

You might also like