
Assembler
Dobrý den, potřebuju pomoct s programovanim v Assembleru, programuji pro ATTINY 2313 od firmy Atmel. Mám do školy zadání viz obrázek (http://walvok.rajce.idnes.cz/nastenka#img035.jpg) ale pořád mi to nejede, pomohl by mi nekdo prosím? Zdrojový kód co jsem napsal prikladam:
/*
* Uloha1.asm
*
* Created: 7.11.2012 8:47:01
* Author: zak
*/
.DEF REG=R16
LDI REG, 0b11111011
OUT DDRB,REG
LDI REG,RAMEND //nastavení zásobníku
OUT SPL,REG //uložení do zásobníku
CLC
LDI REG,0b11111011
SBI PORTD, 2 //NASTAVENÍ BITU PORTU D
LDI R18,0b11111111
OUT DDRB,R18
LDI R18,RAMEND
OUT SPL,R18
LDI R18,RAMEND
CLC
LDI R18,0b11111111
RCALL ZPET
; RJMP ZNOVU
ZNOVU:OUT PORTB,R18
ROL R18
RCALL CEKEJ
RCALL SPOZDENI
RJMP ZNOVU
CEKEJ:LDI R19,20
LDI R20,0
RET
SPOZDENI: DEC R21
BRNE SPOZDENI
DEC R20
BRNE SPOZDENI
LDI R21,0
RET
ZPET:
IN R17,PORTD // NAČTENÍ PORTU D
CPI REG,0b11111011 //TEST JE-LI ZMACKNUTO TLACITKO
BREQ NULA //SKOK PŘI SHODE, TESTUJE SE HODNOA BITU Z SE STAVEM TLACITKA
BRNE JEDNA //SKOK JE-LI VYSLEDEK NESHODNÝ
NULA: ANDI REG,0b11111011 //LOGICKY SOUCIN
CPI REG,0b11111011 //TEST JE-LI ZMACKNUTO TLACITKO
BREQ SPANI //SKOK PŘI SHODE NA PODPROGRAM SPANI(REZIM POWER-DOWN)
BRNE ZPET //SKOK PRI NESHODE NA ZACATEK PROGRAMU
JEDNA: ANDI REG,0b11111011 //LOGICKY SOUCIN
CPI REG,0b11111011 //TEST JE-LI ZMACKNUTO TLACITKO
BREQ SPANI //SKOK PRI SHODE NA PODPROGRAM SPANI(REZIM POWER-DOWN)
BRNE ZPET //SKOK PRI NESHODE NA ZACATEK PROGRAMU
SPANI: SLEEP //UVEDENI PROCESORU DO REZIMU POWER-DOWN
RETI //UKONCENI PODPROGRAMU PRERUSENI A NASTAVENI BITU I