Saknar MC68HCXX
Saknar MC68HCXX
clr x
upp: lda sinus,x
sta temp,x
dex
bne upp
Ahhh ljuvliga motorola processorer. Har så mycket mer kontroll på koden
Sysslar mest med Atmel idag men saknar dessa motorola/freescale processorer.
Något tips på nått bra utecklingskit för MC68HC12 processorn och var man kan köpa den?
upp: lda sinus,x
sta temp,x
dex
bne upp
Ahhh ljuvliga motorola processorer. Har så mycket mer kontroll på koden
Sysslar mest med Atmel idag men saknar dessa motorola/freescale processorer.
Något tips på nått bra utecklingskit för MC68HC12 processorn och var man kan köpa den?
Jo ett exempel, jag har en applikation där jag använder rätt mycket look-up tabellr.
Har en tabell på 200 postioner som innehåller bytes mellan 0-255. Användaren matar in ett tal mellan 0-200 t.ex 56 och får då svaret vad position 56 innehåller.
En ganska enkel funktion som skrivs såhär.
ldx #tal (detta blir talet som användaren matar in)
lda mintabell,x
sta savebyte.
Ska jag gör samma procedur i Atmel så får jag hålla på med pekare o dylikt.
Men om någon har något bättre tips så e de välkommna. Jag e trots allt ganska ny på Atmel.
Har en tabell på 200 postioner som innehåller bytes mellan 0-255. Användaren matar in ett tal mellan 0-200 t.ex 56 och får då svaret vad position 56 innehåller.
En ganska enkel funktion som skrivs såhär.
ldx #tal (detta blir talet som användaren matar in)
lda mintabell,x
sta savebyte.
Ska jag gör samma procedur i Atmel så får jag hålla på med pekare o dylikt.
Men om någon har något bättre tips så e de välkommna. Jag e trots allt ganska ny på Atmel.
OK.
Men "x" (d.v.s indexregistret i 68xx) är väl i princip en "pekare" !?
"Pekare" är så vitt jag vet ett begrepp i 3G språk som t.ex C,
jag har inte sett det användas i mikrokontrollers direkt. Det vanliga
uttrycket är "indexregister" eller "indexerad adressering".
Nu kan jag inte alls AVR arkitekturen, så jag vet inte
vilka indexerade adresseringsmoder det finns där...
Men "x" (d.v.s indexregistret i 68xx) är väl i princip en "pekare" !?
"Pekare" är så vitt jag vet ett begrepp i 3G språk som t.ex C,
jag har inte sett det användas i mikrokontrollers direkt. Det vanliga
uttrycket är "indexregister" eller "indexerad adressering".
Nu kan jag inte alls AVR arkitekturen, så jag vet inte
vilka indexerade adresseringsmoder det finns där...

Nu är jag ingen expert på AVR, jag har just börjat kolla på den lite, men om inte jag totalt missuppfatat något så finns det ju indirekta register i AVR arkitekturen X,Y,Z.
Kolla i manualen nedan:
http://www.atmel.com/dyn/resources/prod ... oc0856.pdf
Kolla första sidan och sidorna 83,85,87. Har inte kolla om dessa kan addressera annat än RAM dock eller om det finns något sätt att addressera programminnet al'a PIC:ens "retlw-tabeller".
Kolla i manualen nedan:
http://www.atmel.com/dyn/resources/prod ... oc0856.pdf
Kolla första sidan och sidorna 83,85,87. Har inte kolla om dessa kan addressera annat än RAM dock eller om det finns något sätt att addressera programminnet al'a PIC:ens "retlw-tabeller".
Du kan ladda från program minet med hjälp av lpm
exempel:
och vad är det som är jobbit med x y z 
edit: rätta coden ....
exempel:
Kod: Markera allt
ldi r16, 3
;r0 = tabel[r16]
mov ZL, r16 ;Z = r16
clr ZH
subi ZL, low(-tabel2*2) ;Z = Z + address
sbci ZH, high(-tabel2*2)
lpm ;tar ut värdet i tabel och stoppar i r0
;r0 = tabel2[r16]
ldi ZH, high(tabel2*2) ;Sätter den höga addressen
mov ZL, r16 ;Sätter del låga addresen
lpm ;tar ut värdet i tabel och stoppar i r0
test:
rjmp test
tabel:
.db 0x00, 0x10, 0x20, 0x30, 0x40
;sätter tabelen på ett jämt nummer för att slipa addera
.org 0x0080
tabel2:
.db 0x00, 0x11, 0x22, 0x33, 0x44

edit: rätta coden ....
- funkis
- Utsparkad, på semester
- Inlägg: 1158
- Blev medlem: 28 januari 2006, 16:15:54
- Ort: Lite här och lite där!
Exile: Mycket kod för att göra en enkel sak!
krille: Som gammal 68HC11 nisse så skulle bara nämna
att du kan göra samma lookuptable tingest som du gav
exempel på med en MSP430 men enklare, Inc-dec i loop.
MSP430 är bra på indirekt, direkt och absolut, och mycket
annat gotti-gott-gott!
Hääääääääp!
/Funkis

krille: Som gammal 68HC11 nisse så skulle bara nämna
att du kan göra samma lookuptable tingest som du gav
exempel på med en MSP430 men enklare, Inc-dec i loop.
MSP430 är bra på indirekt, direkt och absolut, och mycket
annat gotti-gott-gott!
Hääääääääp!

/Funkis
Kollade lite på 68HCxx, det verkar som om varje instruktion på 68HCxx också generellt tar fler instruktionscykler än instruktionerna på en PIC.
Antagligen är det en avvägningsfråga av de som designar processorer. Kraftfullar instruktioner tar fler cykler än enkla instruktioner. Det är väl också en avvägningsfråga som grundas på antal transistorer, pris och funktion. Ju mer lullul ju större/dyrare krets.
Som nämndes tidigare, macron är din vän. Dessutom är mångfald bra.
Förresten (lite OT) är det nån som vet om 68xx processorn är en klon på den gamla 6502 eller är det tvärtom? Programmerade lite 6502-assembler på C-64 tiden, instruktionsuppsättningen verkar ganska lika.
Mats
Antagligen är det en avvägningsfråga av de som designar processorer. Kraftfullar instruktioner tar fler cykler än enkla instruktioner. Det är väl också en avvägningsfråga som grundas på antal transistorer, pris och funktion. Ju mer lullul ju större/dyrare krets.
Som nämndes tidigare, macron är din vän. Dessutom är mångfald bra.

Förresten (lite OT) är det nån som vet om 68xx processorn är en klon på den gamla 6502 eller är det tvärtom? Programmerade lite 6502-assembler på C-64 tiden, instruktionsuppsättningen verkar ganska lika.

Mats
> är det nån som vet om 68xx processorn är en klon på den gamla 6502 eller är det tvärtom?
Som jag minns det så byggdes 6502 av missnöjda "avhoppare" från 6800
designgruppen som inte fick igenom sina ideer. Så, om jag minns rätt,
så är 6502 en form av "klon" på 6800-serien, på samma sätt som
Zilog Z80 byggdes av avhoppare från Intel som inte fick in *sina* ideer i
8080-serien. Jag tror faktiskt att samma sak gäller för PIC vs. SX...
Som jag minns det så byggdes 6502 av missnöjda "avhoppare" från 6800
designgruppen som inte fick igenom sina ideer. Så, om jag minns rätt,
så är 6502 en form av "klon" på 6800-serien, på samma sätt som
Zilog Z80 byggdes av avhoppare från Intel som inte fick in *sina* ideer i
8080-serien. Jag tror faktiskt att samma sak gäller för PIC vs. SX...