Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Start:
- LDI R16, 0xFF;11111111
- OUT DDRA, R16; PORTA НА ВЫВОД
- OUT DDRB, R16
- ;LDI R16, 0xF; 00001111: PC0-PC3 на ввод
- OUT DDRC,R16
- ;LDI R16, 0x00; PORTD на ввод
- OUT DDRD, R16
- KEK:
- CALL delay
- IN R21, PIND
- CPI R21,0
- BRNE moving
- CPI R20, 0;x
- BREQ KEK
- moving:
- MOV R20,R21
- CPI R20,0
- BREQ KEK
- OUT PORTA, R20
- MOV R29, R20
- LSR R29
- LSR R29
- LSR R29
- LSR R29
- LSR R29
- LSR R29
- LSR R29
- ;ОБРАТНЫЙ КОД
- MOV R30,R20
- LDI R16,0XFF
- EOR R30, R16
- OUT PORTB, R30
- KEK1:
- CALL delay
- IN R27, PINC
- CPI R27,0
- BRNE moving1
- CPI R26, 0
- BREQ KEK1
- moving1:
- MOV R26,R27
- CPI R26,0
- BREQ KEK1
- CPI R26, 1;PC0
- BREQ INCR
- CPI R26, 2;PC1
- BREQ DOP2
- CPI R26, 4;PC2
- BREQ DOP1
- CPI R26, 8;PC3
- BREQ LEFT
- INCR:
- CPI R29,0
- BRNE DECR
- INC R20
- RJMP PRINT
- DECR:
- DEC R20
- RJMP PRINT
- DOP2:
- LDI R16,0XFF
- EOR R20, R16
- INC R20
- RJMP PRINT
- DOP1:
- LDI R16,0XFF
- EOR R20, R16
- RJMP PRINT
- LEFT:
- LSL R20
- RJMP PRINT
- PRINT:
- OUT PORTA, R20
- MOV R30,R20
- LDI R16,0XFF
- EOR R30, R16
- OUT PORTB, R30
- rjmp PRINT
- delay:
- LDI R25, 4; z
- LDI R24, 14; y
- LDI R23, 156; x
- delay_sub:
- DEC R23
- BRNE delay_sub
- SBIW R24, 1
- BRNE delay_sub
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement