160 likes | 413 Views
TOETS VOORBEREIDING 1 "OOPBOEK" TOETS 2 WAT OM EERSTE TE LEER 4 HANDBOEK 5 Ou vraestel. "OOPBOEK" TOETS Vir hierdie vak beteken dit jy kan enige geskrif saambring.
E N D
TOETS VOORBEREIDING 1 "OOPBOEK" TOETS 2 WAT OM EERSTE TE LEER 4 HANDBOEK 5 Ou vraestel RS245-2003-Lesing 11
"OOPBOEK" TOETS • Vir hierdie vak beteken dit jy kan enige geskrif saambring. • Geen elektroniese hulpmiddels behalwe sakrekenaars word toegelaat nie - dus geen hulpmiddels wat 8086 samesteller kode kan ontfout of uitvoer nie. • Daar word aanvaar dat u die volgende inligting by u het - inligting (soos poortadresse ens. wat nodig mag wees vir die beantwoording van die vraestel sal dus nie in die vraestel herhaal word as dit in een van die onderstaande bronne verskyn nie.): • Die voorgeskrewe handboek • Die inligting op die lesings se transparante • Die inligting wat met die praktika voorskrifte verskaf is. RS245-2003-Lesing 11
WAT OM EERSTE TE LEER 1 Maak seker dat u al die transparante 100% verstaan. 2 Maak seker dat u al die praktika 100% verstaan. 3 Maak seker dat u soveel moontlik van die 8086 instruksies 100% verstaan. 4 Gebruik die boek om u met bostaande te help. NB: 100% verstaan is belangrik - 'n vae idee van hoe dinge werk is fataal in hierdie vak. As u 1 en 2 hierbo 100% baasraak behoort u minstens maklik te kan slaag. RS245-2003-Lesing 11
DIE HANDBOEK Hoofstuk 1 1.1 Die historiese agtergrond is vir u "opvoeding". 1.2 Bevat ook hofsaaklik agtergrond inligting, maar beskryf ook begrippe wat verder noodsaaklik is: "byte","word","doubleword", "bus". 1.3 Beskryf getallestelsels wat u moet ken: binêr, heksadesimaal, een- en twees-komplementêre getalle. 1.4 U moet die ASCII-tabel kan gebruik en packed BCD getalle kan gebruik. U moet verstaan dat die 8086 getalle in "little endian" formaat stoor. RS245-2003-Lesing 11
Hoofstuk 2 2.1 Beskryf die registers. U hoef slegs die 8086 registers en vlaggies te ken. 2.2 "Real mode addressing" Die begrippe "segment" en "offset" word beskryf. Tabel 2.2 wat die versuim ("default") register assosiasies beskryf, is fundamenteel. 2.3 Nie nodig nie. 2.4 Nie nodig nie. RS245-2003-Lesing 11
Hoofstuk 3 3.1 Beskryf die verskillende adresseringsmodusse. Tabelle 3.1,3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.12 gee voorbeelde van elk. Ignoreer die nie-8086 registers soos eax,ebx,ecx, ens. 3.2 Op hierdie stadium voldoende om JMP te kan gebruik soos in lesings 3 en 8 beskryf. 3.3 Beskryf die Stapel. Die push, pop, pushf en popf instruksies en hoe die sp en ss registers werk is van belang. RS245-2003-Lesing 11
Hoofstuk 4 4.1 Dit is nie om te weet hoe die masjienkodes saamgestel word nie. Die MOD,REG en R/M bisse is nie vir ons van belang nie. U moet wel weet dat mov [bx],20H nie werk nie en dat die word of byte spesifiseerder benodig word: mov byte ptr [bx],20H of mov word ptr [bx],20H 4.2 Beskryf weer die werking van die stapel. 4.3 LEA, LDS en LES is soms handig om te gebruik. 4.4 LODSB, LODSW, STOSB ,STOSW, MOVSB, MOVSW, CLD en STD instruksies, die funksie van die D vlaggie, die REP voorvoegsel en gebruik van CX, en hoe DS,SI en ES en DI die adresse bepaal is van belang. RS245-2003-Lesing 11
Hoofstuk 4 (vevolg) • 4.5 XCHG,LAHF,SAHF,XLAT,IN,OUT. Let op hoe XLAT gebruik word vir 'n opsoektabel en let op die gebruik van AX, AL en DX vir die IN en OUT instruksies (adresse >255 moet DX vir die adres gebruik). • Geen segmentregister word vir IN en OUT gebruik nie. • 4.6 Segment override. LW nie geldig vir string-instruksies nie. • 4.7 Nie nodig nie - kyk na die tuts om te sien • hoe: • Die "data" en "code" segmente gedefinieer word • db en dw gebruik word • .model gebruik word • byte ptr en word ptr RS245-2003-Lesing 11
Hoofstuk 5 5.1 ADD, INC, ADC, SUB, DEC, SBB, CMP. Tabelle 5.1, 5.2, 5.3, 5.4, 5.5,5.6, 5.7 gee voorbeelde van die instruksies. 5.2 MUL, IMUL, DIV, IDIV Let op hoe AL, AX en DX gebruik word. Tabelle 5.8, 5.9, 5.11 en 5.12 gee instruksie voorbeelde. 5.3 "BCD arthmetic" : DAA, DAS. Die "ASCII arithmetic" instruksies (AAA ens) is nie van belang nie. . RS245-2003-Lesing 11
Hoofstuk 5 (vervolg) 5.4 AND, OR, XOR, TEST, NOT, NEG Tabelle 5.14, 5.15, 5.16, 5.17, 5.19 gee voorbeelde Maak seker dat verstaan hoe AND, OR, gebruik word om bisse na '0' of '1' te forseer en hoe TEST gebruik word om sekere bisse se waardes te toets. 5.5 SHL,SHR, SAL, SAR, ROL, RCL, ROR, RCR Tabel 5-20, 5-21 gee voorbeelde. Maak seker dat u verstaan waarom daar "arithmetic" (soos SAR) instruksies is vir getalle met tekens. (sien lesing 5). 5.6 SCASB, SCASW, CMPSB, CMPSW Let op die gebruik van REPE, REPNE. Let op dat die volgende registers/vlaggies van belang is: CX, ES, DI, AL, "Direction flag" (en DS en SI vir CMPS). Kyk hoe die vlaggies aan die einde vir jou sê wat die uitslag was. RS245-2003-Lesing 11
Hoofstuk 6 6.1 JMP Ons gebruik hoofsaaklik jmp label en 'n "jump table" soos in voorbeeld 6-4. (Kyk ook na "switch" voorbeeld in lesing 8) Voorwaardelike spronge. Tabel 6-1. Maak seker dat u seker is wat die verskil is tussen JA en JG ens. LOOP, LOOPE, LOOPNE. Let op die gebruik van CX en ook wat die verskil is tussen die drie instruksies. 6.2 Die samestellerekwivalente van IF, DO-WHILE, ens word hier behandel , maar dit is ook in lesing 8 gedoen. 6.3 CALL, RET N. Let op die verskil tussen CALLS binne dieselfde segment en CALLS na 'n ander segment. Ons gebruik hoofsaaklik call Label. In lesing 11, p10 is daar egter 'n voorbeeld van 'n "far" call waar beide CS en IP gelaai word en beide dus ook op die stapel ge-"push" word. Let op hoe wat die getal na RET beteken. RS245-2003-Lesing 11
Hoofstuk 6 (vervolg) 6.4 Basiese idee van 'n onderbreking word hier beskryf. 6.5 Nie nou nodig nie Hoofstuk 7 7.1 Agtergrond: Betekenis van "public", "extern", "source file", "object file", "linker" 7.2 Sleutelbord-tabel (tabel 7-3) Skryf na skerm met DOS en BIOS roepe 7.3 Data omsetting: Omsetting van ASCII na binêr . XLAT voorbeeld (vb 7-32) 7.4 Nie behandel nie. 7.5 Voorbeelde vir agtergrond 7.6 Fig 7.7 wys PC gonser aandrywing. Ons kyk later weer na "interrupt hooks" - u moet egter weet hoe tut 4 werk! RS245-2003-Lesing 11
Hoofstuk 8 nie van toepassing op Watcom kompileerder nie Hoofstuk 9 9.1 Kyk na 8086 minimum modus penne 9.2 8284 werking 9.3 Fig 9.8 is 'n voorbeeld van 'n gebufferde 8086 stelsel 9.4 Res van hoofstuk nog nie behandel nie DOS Funksies : Bylae A (Slegs die funksies wat in die lesings en praktika gebruik is, is nou van belang - behalwe as eksplisiet gevra.) BIOS Roepe : Bylae A (Slegs die roepe wat in die lesings en praktika gebruik is, is nou van belang - behalwe as eksplisiet gevra.) Instruksiestel: Bylae B (Slegs die instruksies van toepassing op die 8086.) RS245-2003-Lesing 11
VRAE UIT SEPT 2000 VRAESTEL Wat is die toestand van die “zero”, “carry”, “auxilliary carry”, “overflow” en “sign” vlaggies na die volgende drie instruksies uitgevoer is: What is the state of the “zero”, “carry”, “auxilliary carry”, “overflow” and “sign” flags after the following three instructions have been executed: mov al,0C8H mov bl,68H add al,bl mov al,0C8H 1100 1000 (- 56) mov bl,68H 0110 1000 (+104) add al,bl 1)0011 0000 (+48) zero=0 carry=1 auxilliary carry= 1 overflow=0 sign=0 RS245-2003-Lesing 11
Aanvaar dat die registers die volgende data bevat: Assume that the registers contain the following data: ds = 2000H es = 2010H ss = 2020H si = 0300H Bepaal die waarde van bx, bp, di en cs sodat data van dieselfde fisiese adres in elk van die volgende gevalle in ah gelaai word. Determine the values of bx, bp, di and cs so that data from the same physical address is loaded into ah in each case. mov ah,[si] mov ax,[bx] ; ax ! mov ah,[bp] mov ah,cs:[si][10] mov ah,[di] 20000H+0300H=20300H ah<=20300H dus al<=202FFH dus bx=2FFH ss:bp = 20300H dus bp = 100H cs:si+10H = 20300H dus cs=1FFFH ds:di = 20300H dus di=0300H RS245-2003-Lesing 11
Wat is die fout, indien enige in elk van die volgende: What is the error, if any, in each of the following: (a) mov ds,1000H (b) pop ds (c) mov ax,[dx] (d) shl al,3 (e) mov [bx],[si] (f) iret 2 (g) mov [bx],20H (h) push ah (I) int 1FFH (j) out bx,ax geen immediate mov na segmentregisters ok dx kan nie vir 'n geheueadres gebruik word nie slegs 1 (of cl) geldig geen mov van geheue na geheue toegelaat nie iret maak nie voorsiening vir bykomende pops nie kort "byte ptr" of "word ptr" kan slegs 16 bis registers push hoogste int is 0FFH out gebruik dx as adresregister RS245-2003-Lesing 11