Pagina 1 di 5

Direttiva .org AVR assembly (atmega8535)

MessaggioInviato: 22 mag 2013, 19:43
da Rabeluk
salve a tutti,
stavo provando ad analizzare un programmino trovato sul mio libro per prendere maggiore confidenza con assembly

non riesco bene a capire cosa fa quando usa questo procedimento....
sto per inserire l'intero programma
Codice: Seleziona tutto
Declaration
.def temo=r16
.def NoteL=r19
.def NoteH=r23
.def Length=r20
.def address=21

Start of Program
rjmp init
reti
reti
reti
rjmp ToggleOut
reti
rjmp ChangeNote

.org ox13

LookUPTable:
.dw  0xecb
.dw     ....
.dw   ...
.dw   ...
.dw   ...
.dw   ...
.dw   ..   
.dw   ...
.dw   ...
.dw   ...
.dw   ....
.dw   ...

ToggleOut:

in temp,PortD
com temp
out PortD,temp
reti

ChangeNote:
dec Length
breq PC+2
reti
Rest: in temp,TIFR
sbrs temp,1
rjmp Rest
ldi temp,0b00000010
out TIFR,temp
Read_EEprom:
out EEARL,address
sbi EECR,0

in ZL,EEDR
andi ZL, 0b00001111

cpi ZL,0x0C
breq Reset
brlo PC+2
ldi ZL,0x0B

lsl ZL
subi ZL,-0x26
lpm
mov NoteL,R0
inc ZL
lpm
mov NoteH,R0


in particolare non capisco come funziona in questo caso l'indirizzamento indiretto e scendendo di + nei particolari non capisco perché:
moltiplica Zl per 2 utilizzando lsr
somma 26 a zl
e cosa fa con .org 13

Re: direttiva .org avr assembly (atmega8535)

MessaggioInviato: 22 mag 2013, 19:53
da simo85
Dopo 556 messaggi e 2 anni sul forum ancora non sai che i codici si scrivono tra i tag [code] e non linkando immagini da imageshack?

Re: direttiva .org avr assembly (atmega8535)

MessaggioInviato: 22 mag 2013, 19:54
da Rabeluk
scusatemi ma è che sono da stamattina con questo dannato codice e non riesco a venirne a capo

Re: direttiva .org avr assembly (atmega8535)

MessaggioInviato: 22 mag 2013, 19:59
da simo85
Quindi? Non capisco.

Davvero è così difficile un copia incolla rispetto a fare una foto e caricarla su un server?

Mah! A quest'ora dovresti aver già postato il codice ..

Re: direttiva .org avr assembly (atmega8535)

MessaggioInviato: 22 mag 2013, 20:03
da Rabeluk
è un pdf formato immagine :D magari copia e incolla... lo sto trascrivendo ....1 minuto

Re: direttiva .org avr assembly (atmega8535)

MessaggioInviato: 22 mag 2013, 20:06
da Rabeluk
bene ho inserito solo la parte che mi interessa... se serve tutto il codice ( ma non credo) lo scrivo

Re: direttiva .org avr assembly (atmega8535)

MessaggioInviato: 22 mag 2013, 20:09
da simo85
Assembly per MCU AVR?

Re: direttiva .org avr assembly (atmega8535)

MessaggioInviato: 22 mag 2013, 20:11
da Rabeluk
si scusate mi sono scordato... un 2313

Re: direttiva .org avr assembly (atmega8535)

MessaggioInviato: 22 mag 2013, 20:21
da simo85
ATtiny o AT90s?

Ad ogni modo la maniera migliore di interpretare un programma in Assembly come in questo caso è, a mio parere, leggere la descrizione delle istruzioni riportate sul datasheet, e fare allo stesso tempo un debug del programma analizzando i valori dei registri.

Re: direttiva .org avr assembly (atmega8535)

MessaggioInviato: 22 mag 2013, 20:24
da Rabeluk
AT90s

guarda ho la spiegazione del libro davanti agli occhi ma non riesco a seguire quello che fa..... le istruzioni le conosco tutte


solo quando scrive .org non capisco che vuol dire....

e le altre gli altri 2 punti non capisco perché fa quelle cosa