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.

ARCCRProcessor7F$0000$0001c v z N $0002$0003$0004$0005$0006$0007$0008$0009$000AMinneADDA832Figur F.2: Instruktion ADDA 8 före exekveringen. Vad blir resultatet? Observeraatt alla flaggorna påverkas.Mnemonic Beskrivning Funktion FlaggorLDA A Load acc. AR = M(A) Z,NSTA A Store acc. M(A) = ARADDA A Add acc. AR = AR + M(A) C,V,Z,NSUBA A Subtract acc. AR = AR − M(A) C,V,Z,NINCA Increment acc. AR = AR + 1 C,V,Z,NDECA Decrement acc. AR = AR − 1 C,V,Z,NCMPA A Compare acc. AR − M(A) C,V,Z,NCLRA Clear acc. AR = 0 Z=1ASRA Ar. shift right acc. AR = AR/2 C,V,Z,NASLA Ar. shift left acc. AR = AR · 2 C,V,Z,NLSRA Log. shift right acc. AR = AR >> 1 C,V,Z,NANDA A bitwise and acc. AR = AR&M(A) Z,NORA A bitwise or acc. AR = AR|M(A) Z,NJMP A jump to A PC = AJMPC A jump to A if carry C = 1 → PC = AJMPV A jump to A if overflow V = 1 → PC = AJMPZ A jump to A if zero Z = 1 → PC = AJMPN A jump to A if negative N = 1 → PC = AVi är nu redo för ett litet assemblerprogram. Vi tänker oss att vi har en assemblatorför vår maskin. Programmet ska beräkna medelvärdet av två tal med tecken.Dessa finns i minnescellerna 20 och 21. Vi antar för bekvämlighetens skull att allasiffror i vårt program är hexadecimala. Det korrekta medelvärdet ska placeras i cell22. De flesta assemblatorer (även vår) vill ha källkoden snyggt inskriven i fyra fält:label, instruktion, operand och kommentar. Så här kan det se ut:; mitt första asm-program; kodSTART: LDA 20 ; hämta första operandenADDA 21 ; lägg till den andra68

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

Saved successfully!

Ooh no, something went wrong!