12.07.2015 Views

Kompendium - Datorteknik

Kompendium - Datorteknik

Kompendium - Datorteknik

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

JMPV SPILL ; spill?ASRA ; dela med 2JMP HITSPILL: ASRA ; dela med 2ADDA #80 ; kompensera genom att flippa MSBHIT: STA 22SLUT: JMP SLUT ; här stannar vi; dataareaORG 20A: DB 17B: DB 25C: DB 00Några kommentarer till ovanstående program:• Assemblatorn tillåter så kallade symboliska adresser. Innan programmet exekverashar dessa naturligtvis bytts ut mot de aktuella adresserna. Vanligtvisarbetar assemblatorn i två pass. I det första beräknas värdena på de symboliskaadresserna, i det andra översätts alltihop till exekverbar kod.• Vi introducerade omedelbar adresseringsmod. Observera den förödande skillnadenmellan ADDA #80 (AR = AR + 80) och ADDA 80 (AR = AR +M(80)). Vanligaste nybörjarfelet!• ORG och DB är assemblerdirektiv, alltså ej instruktioner. ORG 20 sätter lägespekaren(vid assembleringen) på 20. Nästa rad definierar en byte, 17, pådenna adress. Om vi vill kan vi referera till byten med labeln A.• Observera att instruktionen ADDA 21, påverkar spillflaggan. Vi testar värdetpå V med JMPV SPILL och gör två olika saker beroende på utfallet.Observera att det inte går att testa på V efter ASRA. Då kan ju V ha fått ettnytt värde.I fig. F.3 visas en programmerarmodell för spillexemplet. Vi tänker oss att vihar assemblerat programmet och placerat det på rätt ställe i minnet. I ett verkligt fallär naturligtvis även opkoderna utbytta mot hexkoder. Det är en mycket bra övningatt singlesteppa assemblerprogram. Exekvera alltså instruktion för instruktion ochskriv in ändrade värden i register och minnet.F.1.4AdresseringsmoderAdresseringsmoder är alltså olika sätt att peka ut en operand. Man brukar användabegreppet effektiv adress EA, som helt enkelt är operandens minnesadress. Härkommer en lista på de moder som brukar förekomma:1. absolut. Byten efter opkoden pekar ut operanden.Exempel: LDA A ; AR = M(A). Effektiv adress EA = A.69

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!