Bra kurs i assembler med simulator för förståelse mha 6502

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Nerre
Inlägg: 27229
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Bra kurs i assembler med simulator för förståelse mha 6502

Inlägg av Nerre »

http://skilldrick.github.io/easy6502/

Som det står i inledningen så är visserligen 6502 stenålder, men det är ett väldigt bra sätt att lära sig hur assemblerprogrammering fungerar.

Och med sin inline simulator med tillhörande "grafikskärm" så är den väldigt lätt att hänga med i.
Senast redigerad av blueint 11 september 2013, 14:27:39, redigerad totalt 2 gånger.
Anledning: var: Bra grundkurs i (generell) assembler (6502!)
Användarvisningsbild
SeniorLemuren
Inlägg: 8427
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Bra grundkurs i (generell) assembler (6502!)

Inlägg av SeniorLemuren »

Vill minnas att det är ganska stor skillnad på att programmera 6502 (Von Neuman arkitekture) jämfört med tex. PICxxx (Harward architecture) i Assembler. Vilka µC använder Von Neuman arkitekture i dag?
Användarvisningsbild
psynoise
EF Sponsor
Inlägg: 7226
Blev medlem: 26 juni 2003, 19:23:36
Ort: Landvetter

Re: Bra grundkurs i (generell) assembler (6502!)

Inlägg av psynoise »

HC08 från Freescale och säkerligen flera serier däromkring. Sedan kan detta tyckas vara lustigt men i branscher där låg styckkostnad är viktigt används helt andra familjer än vad många andra är vana vid. T.ex finns HC08-liknande RS08 från några enstaka kronor jämfört med tior för Atmels AVR-serie. Fordonsindustrin är som exempel kända för att hålla nere styckkostnader.


EDIT: stavning
Senast redigerad av psynoise 10 september 2013, 11:27:15, redigerad totalt 1 gång.
Användarvisningsbild
Icecap
Inlägg: 26648
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Bra grundkurs i (generell) assembler (6502!)

Inlägg av Icecap »

Hmmmm... Z80, eZ80, Z180, x86-serien, Fujitsus FM²C-16LX, Renesas M16C-serien, Renesas RX-serien... och sannolikt många andra.
Senast redigerad av Icecap 10 september 2013, 11:31:43, redigerad totalt 2 gånger.
Nerre
Inlägg: 27229
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Bra grundkurs i (generell) assembler (6502!)

Inlägg av Nerre »

Poängen med kursen är ju att lära sig förstå hur en mikroprocessor fungerar.

Som han skriver på sidan så är ju 6502 från den tiden då man "skrev i assembler" och det gör att det är ett bra val för att lära sig rätt "tänk". Att förstå hur stacken fungerar, hur direkt, indirekt och indexerad adressering fungerar etc.

Naturligtvis hade man kunnat hitta på ett eget assemblerspråk eller köra med Z80 eller nåt annat från den tiden, men varför uppfinna hjulet på nytt när så många redan uppfunnit det förr?
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Bra grundkurs i (generell) assembler (6502!)

Inlägg av blueint »

Motorola 68000 är en annan processor med trevlig instruktionsuppsättning.
Nerre
Inlägg: 27229
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Bra grundkurs i (generell) assembler (6502!)

Inlägg av Nerre »

Jo men den är väl 16-bitars? Ska man lära sig grunderna så är en 8-bitars betydligt enklare att greppa.
Användarvisningsbild
4kTRB
Inlägg: 20748
Blev medlem: 16 augusti 2009, 19:04:48

Re: Bra grundkurs i (generell) assembler (6502!)

Inlägg av 4kTRB »

Flite har en bra beskrivning om hur lämplig 68000
är att lära sig grunderna på. De säljer andra kort också
med 8-bitars.

http://www.flite.co.uk/the-flite-68000- ... uction.htm
Nerre
Inlägg: 27229
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Bra grundkurs i (generell) assembler (6502!)

Inlägg av Nerre »

Ja men stopp och belägg här nu, har ni öht läst kursen jag länkar till? :)

Det handlar INTE om att lära sig för att sen använda hårdvaran, det handlar om att lära sig för att förstå hur en mikroprocessor fungerar. Då ska det vara så enkelt som möjligt, jag hade nog iofs helst föredragit en processor med även 8-bitars adressbuss. Det handlar om pedagogiken, inte huruvida processorn man lärt sig med sen kan användas till nåt vettigt.

Lär dig hur en 6502 fungerar genom att skriva lite assembler i en emulator, sen kan du gå över till att programmera i C för din AVR/PIC. Det är att förstå vad adresser, bitar, register etc är och hur de fungerar som är det intressant. Väldigt ofta ser man att nybörjare som ställer frågor här inte har greppat hur en mikroprocessor fungerar.
Användarvisningsbild
psynoise
EF Sponsor
Inlägg: 7226
Blev medlem: 26 juni 2003, 19:23:36
Ort: Landvetter

Re: Bra grundkurs i (generell) assembler (6502!)

Inlägg av psynoise »

Som jag ser det finns det två sätt att lära sig. Antingen top-down med överskådlighet eller bottom-up med exempel där kursen ovan kan vara en bra start. Problemet med många frågor här är att DIY-kulturen där folk endast vill visa upp sakar utan att egentligen lära sig något i ett större perspektiv.

Jag själv började med digitalteknik och kontrollsignaler hos en centralprocessor. Sedan från kontrollsignaler till assembler. Men hur många orkar det idag?
Användarvisningsbild
4kTRB
Inlägg: 20748
Blev medlem: 16 augusti 2009, 19:04:48

Re: Bra grundkurs i (generell) assembler (6502!)

Inlägg av 4kTRB »

Assemblerprogrammering inbegriper ganska mycket.
Det är inte enbart att förstå hur olika adresseringsmoder
fungerar. Det kan handla om olika typer av proceduranrop,
olika sätt att placera data på stacken, olika sätt att lösa
loopar. Det är ju sånt som kommer till nytta sedan när man
börja med högnivåprogrammering. Sedan att förstå hårdvaran
är ju också viktigt och hur man fixar till interrupt och
liknande i assembler.
Nerre
Inlägg: 27229
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Bra grundkurs i (generell) assembler (6502!)

Inlägg av Nerre »

Ni är på alldeles för hög nivå:)

Försök förklara hur en mikroprocessor funkar för nån som aldrig hållt på med datorer eller elektronik så hamnar ni på rätt nivå.
Användarvisningsbild
4kTRB
Inlägg: 20748
Blev medlem: 16 augusti 2009, 19:04:48

Re: Bra grundkurs i (generell) assembler (6502!)

Inlägg av 4kTRB »

Då kanske man kan börja med att studera 74-serien TTL
för det finns en rad kretsar där som utgör grunden till en CPU.
74181 är en ALU till exempel http://en.wikipedia.org/wiki/74181
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Bra grundkurs i (generell) assembler (6502!)

Inlägg av blueint »

Stackanvändande kostar dock många klockcyckler..

Har för mig att "VICE" har en avancerad debugger inbyggt som säkert kan vara lärorik i kombination med att det finns ett helt system att experimentera med.

Bild
Nerre
Inlägg: 27229
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Bra grundkurs i generell 6502 assembler

Inlägg av Nerre »

Som sagt var, leta upp lämplig okunnig 14-åring (de kan förstå binära och hexadecimala tal i alla fall) och försök förklara för dem. Jag har försökt! :)
Skriv svar