rootUser

RotatingHorizontalBar.asm

Feb 7th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CODE SEGMENT
  2. ASSUME CS:CODE,DS:CODE,ES:CODE,SS:CODE
  3.  
  4.     PPIC_Control EQU 1EH
  5.     PPIC EQU 1CH
  6.     PPIB EQU 1AH
  7.     PPIA EQU 18H
  8.  
  9.     ORG 1000H
  10.    
  11.     MOV AL, 10000000B
  12.     OUT PPIC_Control, AL     ; Take PortA, PortB, PortC to output modes
  13.    
  14.     MOV AL, 11111111B
  15.     OUT PPIC, AL             ; Since all columns should be lit at the same time
  16.    
  17.     MOV AL, 11111111B
  18.     OUT PPIA, AL             ; We'll never light up the green lights
  19.                              ; So, output 11111111 to turn off all green outputs
  20.    
  21. L1: MOV AL, 11111110B        ; Since only one row to be lit at a time
  22.     MOV CX, 08H
  23. L2: OUT PPIB, AL
  24.     CALL TIMER
  25.     STC
  26.     ROL AL, 1
  27.     LOOP L2
  28.     JMP L1
  29.     INT 3
  30.  
  31. ; TIMER procedure    
  32. TIMER: PUSH CX
  33.        MOV CX, 8FFFH
  34. TIMERLOOP: NOP
  35.     NOP
  36.     NOP
  37.     NOP
  38.     LOOP TIMERLOOP
  39.     POP CX
  40.     RET
  41.     ;
  42. CODE ENDS
  43. END
Add Comment
Please, Sign In to add comment