Saknar MC68HCXX

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Krille
Inlägg: 5
Blev medlem: 10 juni 2005, 09:29:28

Saknar MC68HCXX

Inlägg av Krille »

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?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Bara nyfiken...

Vad är det i den koden som gör MC68... unik ?
Krille
Inlägg: 5
Blev medlem: 10 juni 2005, 09:29:28

Inlägg av Krille »

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.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

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... :-)
Användarvisningsbild
exile
EF Sponsor
Inlägg: 496
Blev medlem: 21 oktober 2005, 23:32:07

Inlägg av exile »

Du kan göra makron om du vill.....
då kan du göra vilka tokiga instruktioner du vill :)
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Inlägg av Kaggen »

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".
Användarvisningsbild
exile
EF Sponsor
Inlägg: 496
Blev medlem: 21 oktober 2005, 23:32:07

Inlägg av exile »

Du kan ladda från program minet med hjälp av lpm
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
och vad är det som är jobbit med x y z :?:

edit: rätta coden ....
Användarvisningsbild
funkis
Utsparkad, på semester
Inlägg: 1158
Blev medlem: 28 januari 2006, 16:15:54
Ort: Lite här och lite där!

Inlägg av funkis »

Exile: Mycket kod för att göra en enkel sak! :wink:

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
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Är det någon som är förvånad att en modernare design kan göra
saker och ting bättre/snabbare ??
Vad är din poäng ? :-)
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Inlägg av Kaggen »

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. 8)

Mats
Användarvisningsbild
funkis
Utsparkad, på semester
Inlägg: 1158
Blev medlem: 28 januari 2006, 16:15:54
Ort: Lite här och lite där!

Inlägg av funkis »

Poäng? Ingen alls faktiskt! :)

Förresten, kom jusst på en, att slå ett slag för MSP430! :wink:

/Funkis
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> ä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...
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

Om jag inte minns alldeles fel så byggde även den allra första 12-bitars instruktionsuppsättningen till PIC:en på "något annat" befintligt, men jag kommer inte ihåg vad. Om sedan SX också bygger på den eller på PIC:en i sin tur är mer en akademisk (eller snarare kanske juridisk) fråga.
Användarvisningsbild
exile
EF Sponsor
Inlägg: 496
Blev medlem: 21 oktober 2005, 23:32:07

Inlägg av exile »

funkis skrev:Exile: Mycket kod för att göra en enkel sak! :wink:

/Funkis
Nja 3 eller 5 rader brukar jag inte kalla mycket kod....
Skriv svar