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

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

