1 / 13

LESING 2

LESING 2. Basiese rekenaar Die 8086 blokdiagram 8086 Registers 8086 Vlaggies Wat is masjientaal? MOV instruksies Segmentregisters en gesegmenteerde geheue Dinge om te doen. Vertoon. DATA-BUS. ADRES-BUS. BEHEER- BUS. Sleutelbord. INTREE/UITTREE. Intree/uittree koppelvlakke. Geheue.

rosa
Télécharger la présentation

LESING 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LESING 2 Basiese rekenaar Die 8086 blokdiagram 8086 Registers 8086 Vlaggies Wat is masjientaal? MOV instruksies Segmentregisters en gesegmenteerde geheue Dinge om te doen RS245-2003-Lesing 2

  2. Vertoon DATA-BUS ADRES-BUS BEHEER- BUS Sleutelbord INTREE/UITTREE Intree/uittree koppelvlakke Geheue Buffers en beheer- logika Mikrover- werker VEREENVOUDIGDE VOORSTELLING VAN 'N REKENAAR RS245-2003-Lesing 2

  3. clock control Control unit 8086 Flags: C,P,A,Z,S,T,I,D,O 8086 MIKROVERWERKER HOOFSTUK 2.1 ALU IP AH AL BH BL CH CL DH DL AX BX CX DX Bus Interface Unit address data CS DS SS ES SI DI BP SP RS245-2003-Lesing 2

  4. 8086 Registers Die 8086 bevat 8-bis en 16-bis registers. Elke paar 8-bis registers het ook 'n 16-bis naam Byvoorbeeld: AX verwys na al 16 bisse van die AX-register AH verwys na die hoë 8 bisse (8 tot 15) AL verwys na die lae 8 bisse (0 tot 7) AX 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 AH AL As AH =10H en AL=3DH dan is AX=103DH RS245-2003-Lesing 2

  5. 8086 Vlaggies Sommige van die vlaggies dui die resultaat van sekere operasies aan (C, P, A, Z, S, O ) terwyl ander gestel kan word om die verwerker te beheer (D, T en I). Die zero vlaggie dui aan of die resultaat van 'n berekening zero is. Let op die zero vlaggie is '1' as die resultaat zero is. Kyk self in hoofstuk 2.1 van die handboek na die ander vlaggies. Ons kom later weer terug na hulle. RS245-2003-Lesing 2

  6. Wat is masjientaal? Masjientaal (objekkode) : Dit is die binêre kode wat die verwerker direk kan gebruik: adres: 0100 data: 10110000 (B0H) beteken MOV AL,… (Kyk (*)) 0101 00100111 (27H) As die 8086 die data 10110000 by adres 0100 gaan haal en as 'n instruksie interpreteer dan sal dit ook die volgende adres se data gaan lees om die instruksie MOV AL,27H te voltooi. Uit die eerste greep (byte) van die instruksie bepaal die verwerker die aantal grepe wat nodig is om die instruksie te voltooi. Baie instruksies bestaan uit meer as twee grepe. (*) Kyk in APPENDIX B na die instruksie: MOV reg,imm Dit staan vir "MOV register, immediate" Die kode wat hulle gee is: 1011wrrr data Volgens tabel TABLE B-3 is rrr=000 en W=0 vir register AL en data is 27H in ons geval RS245-2003-Lesing 2

  7. Kode primitiewe MOV dekodering 101 A 100 000 B => C 001 A => C 010 C => B 011 A => B 100 C => A 101 B => A 011 B 010 001 C 000 010101 RS245-2003-Lesing 2

  8. Gelukkig kan ons samestellertaal gebruik. Die samesteller soek in effek vir ons die kodes op. • Die Datasegment: MOV instruksies HOOFSTUK 3.1 • Ons kyk net na enkele voorbeelde en keer weer in die volgende lesing terug na die MOV instruksie • MOV AL,CL Kopieer die inhoud van CL na AL, CL bly onveranderd • MOV BX,AX Kopieer die inhoud van AX na BX, AX bly onverander • MOV AX,DL FOUTIEF AX is 'n 16-bis register en AL 'n 8-bis register • MOV BL,44H Plaas die getal 44H in BL • MOV BX,44H Plaas die getal 44H in BX (dus BH=0 en BL=44H) • MOV BL,'D' Plaas die getal 44H in BL (Die ASCII kode vir D) RS245-2003-Lesing 2

  9. 8086 SEGMENTREGISTERS HOOFSTUK 2.2 GESEGMENTEERDE GEHEUE Dit is die enkele aspek wat seker die meeste probleme gee vir diegene wat gewoond is aan nie-gesegmenteerde geheue. Die 8086 se registers is 16 bisse wyd. Die adresbus is 20 bisse wyd. (Hoeveel grepe kan met 20 adresbisse geadresseer word?) Twee 16-bis registers word gebruik om die 20 bis adres te genereer. Byvoorbeeld: Instruksieadresse word bepaal uit IP (Instruction pointer) in CS (Code segment register). Elkeen van die registers is 16 bisse wyd. Die adres word verkry deur CS*16 + IP. Gestel CS= B3FFH en IP = 100H dan is die adres B3FF0H +100H = B40F0H Let op dat enige twintig bis adres so bygekom kan word. Na watter adres wys CS=B300H en IP=10F0H? RS245-2003-Lesing 2

  10. FFFFF C3FEF (CS=B3FFH, IP = FFFFH) 64K code segment B3FFO (CS=B3FFH , IP = 0) Slegs 64K kode geheue kan bygekom word sonder om die segmentregister se waarde te verander. 00000 1MB Geheue Ruimte RS245-2003-Lesing 2

  11. Die BX register kan gebruik word om data in die DATA segment by te kom. mov bx,10h mov al,[bx] (* adres = E0000 + 10 H *) FFFFF EFFFF (DS=E000H, BX=FFFFH) 64K DATA geheue segment E0000 (DS=E000H, BX=0000) C3FEF (CS=B3FFH, IP = FFFFH) 64K KODE geheue segment B3FFO (CS=B3FFH , IP = 0) 00000 1MB Geheue Ruimte RS245-2003-Lesing 2

  12. SEGMENT en AFSET REGISTERS CS IP Instruksie-adres SS SP of BP Stapeladres DS BX,DI,SI Data-adres ES DI Stringadres Gestel CS=2000, DS=1000, SS=3400, ES=4900 BX=0200, IP=0032 Watter geheue-adresse is betrokke by die volgende instruksie? mov ax,[bx] Die instruksie moet in die geheue sit by adres: 20000+0032=20032 Die data word gaan haal by adres: 10000+0200=10200 LEES SELF : "Segment and Offset Addressing Scheme Allows Relocation" Hoofstuk 2.3 en 2.4 is nie van toepassing op die 8086 nie. RS245-2003-Lesing 2

  13. DINGE OM TE DOEN: Maak 'n DOS-venster oop op op jou rekenaar (of die "command prompt" as jy windows XP of 2000 gebruik). Laasgenoemde kan gevind word onder START > Programs > accessories. Loop DEBUG Tik die volgende met 'n "Enter" aan die einde van elke reël. a Enter Die Ontfouter gaan in samesteller modus MOV AL,41 Enter MOV BL,AL Enter ADD AL,BL Enter MOV BX,10 Enter MOV al,[BX] Enter Enter Die Ontfouter gaan uit samesteller modus t Enter "Trace" : Voer een instruksie uit t Enter Hou so aan totdat alle instruksies uitgevoer is en kyk elke keer hoe die registers verander. RS245-2003-Lesing 2

More Related