; Secuencia X Con Leds ; ; X 0 0 0 0 0 0 X 81H ; 0 X 0 0 0 0 X 0 42H ; 0 0 X 0 0 X 0 0 24H ; 0 0 0 X X 0 0 0 18H ; 0 0 X 0 0 X 0 0 24H ; 0 X 0 0 0 0 X 0 42H ; X 0 0 0 0 0 0 X 81H* ; 0 X 0 0 0 0 X 0 42H* ; 0 0 X 0 0 X 0 0 24H* ; 0 0 0 X X 0 0 0 18H* ; ; Gilberto Stankiewicz ; http://www.stan.com.mx ; Abril 2008 ; 6502 Macroassambler & Simulator ; http://home.pacbell.net/michal_k/ ; ; Puerto A B ; Configuracion $9003 $9002 ; Valor $9001 $9000 ; .ORG $0400 LDA #$FF ; configurar puerto STA $9003 ; configurar puerto LDA #$01 ; bit que se recorre a la derecha STA $9004 ; bit que se recorre a la derecha LDA #$80 ; bit que se recorre a la izquierda STA $9005 ; bit que se recorre a la izquierda NEXT: LDA $9004 ; A <- $9004 EOR $9005 ; A <- (A | $9005) STA $9001 ; valor de salida del puerto JSR DELAY ; delay JSR ROTATE ; rotar los dos bits CMP #$81 ; si los dos bits estan en los extremos .. BEQ TWICE ; entonces los recorre otra vez CMP #$18 ; si los dos bits estan en el centro .. BEQ TWICE ; entonces los recorre otra vez JMP NEXT ; repetir TWICE: JSR ROTATE ; rotar los dos bits JMP NEXT ; repetir ROTATE: CLC LEFT: ROL $9004 BCS LEFT RIGHT: ROR $9005 BCS RIGHT RTS DELAY: LDX #$04 LOOPX: LDY #$FF LOOPY: DEY BNE LOOPY DEX BNE LOOPX RTS