Tentamen PC-teknik 5 p Namn:. Klass:... Program: Di2, Em3, Et3 Datum: 03-08-15 Tid: 13:30-18:30 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C för MSDOS (utdelas). Bilagor: Interrupt, ASCII-tabell Examinator: Anders Arvidsson Telefon: 036-15 61 12, 0707-76 28 86 Examinatorn besöker tentamen. Uppgifterna redovisas direkt i frågebladet, eller på separat ark, vilka då ska numreras och hänvisas till från uppgiftsbladet. Max poäng: 25 Betyg Poäng 3 10 4 15 5 20 1 (9)
Tentamensfrågor 1. Studera C-koden nedan och besvara frågorna (som avser minnesinnehåll efter exekvering). { char var1; int var2, var3; var3 = 300; var1 = -3; var2 = var3 0xFF; var3 = var2 & 513; } Beskriv minnesinnehållet i adressen som lagrar var1, i binär form. I adress för var1: Vilket värde kommer var2 och var3 ha? Svara decimalt! var2: (3 p) var3: 2. Vad kommer registren att innehålla för värde efter att nedanstående kod exekverats? Svara decimalt! (4 p) add shr xor inc ax,#0ffffh bx,#2 ax,bx bx,#1 cl,#1 ch,#3 ch,cl dx,#1 dx,cx dx ax: bx: cx: dx: 2 (9)
3. Skriv ett program i C och assembler som söker igenom en textfil tenta.txt efter bokstavskombinationen bmp. Om bmp hittas ska texten Filen kan handla om bildhantering skrivas ut på skärmen. I annat fall ska Sök info till labben i annan fil skrivas ut. Ingen felhantering krävs då vi förutsätter att tenta.txt existerar. Du får deklarera variabler för t ex mellanlagring av text och signaler mellan C och assembler vid behov. Filen ska stängas innan programmet avslutas. Kodningen ska ske i tydligt blockkommenterade avsnitt och eventuellt delas in i subrutiner, men poängen är att tanken ska vara lätt att förstå. (Fungerande rutiner kan ge tröstpoäng även om programmet havererar.) Koden ska också kommenteras rad för rad. Program med uppenbart onödigt många instruktioner ger poängavdrag. All filhantering ska skrivas i assembler och ske med hjälp av bifogade interrupt. Uppgiften löses på separat ark. (Tips: Lös övriga uppgifter först.) (3 p) 4. Vissa processorer är utrustade med både Front-Side bus och Back-Side bus. Vad används dessa bussar till och vad är skälet till att man inte bara använder en buss? (2 p) 3 (9)
5. Nedan följer några frågor som bl a handlar om konvertering mellan olika enheter och prefix. Idag kan man köpa en Intel P4 med 3,2 GHz klockfrekvens. Hur lång tid är en period av klockan uttryckt i nanosekunder? Svar: ns Hur många gånger högre klockfrekvens har processorn ovan jämfört med en 286:a som klockas med 8 MHz? Svar: ggr Jämför man beräkningshastigheten mellan de olika processorerna finner man att skillnaden är mycket större än skillnaden i klockfrekvens. Vad beror det på? Ange minst tre faktorer. (Hela frågan: 4 p) 4 (9)
6. SRAM och SDRAM är två minnestyper som kan vara lätt att sammanblanda. Förklara den huvudsakliga skillnaden mellan dem, samt användningsområden. (2 p) 7. I samband med tangentbord talas det om Scan Code. Förklara vad som avses. (2 p) 5 (9)
8. I beskrivningen av en CRT-monitor kan man bl a finna begreppen shadow mask och dot pitch. Vad beskriver dessa begrepp? (2 p) 9. Hårddiskgränssnitt finns i många versioner. T ex kan man ha införskaffat en hårddisk som stödjer ATA-7 medan det äldre moderkortet i datorn stödjer ATA-3. Går hårddisken ansluta till datorn? Vad händer? Vad kan skilja mellan olika versioner? (3 p) Lycka till! 6 (9)
Bilagor Användbara interrupt INT 21H Function 3DH Open File This function opens the file specified by the ASCII string at the pointer DS:DX. The string must be terminated with a zero. A 16-bit handle is returned. Register Call Value Return Value AH 3DH AL access mode (bit 0-1) 00=read access 01=write access 10= read/write access DS:DX pointer to the file name AX If function successful: File handle If function failed: Error code Error code 2 = file not found 3= path not valid (there are more error codes available) INT 21H Function 3EH Close File This function closes the file which handle was returned by a successful open (function 3DH) or create (3CH). Register Call Value Return Value AH 3EH BX file handle AX error code 6 if handle invalid or not open Carry flag clear on success set on error 7 (9)
INT 21H Function 3FH Read File or Device This function transfers data from the file specified by the handle in BX to a buffer pointed to by DS:DX. If the carry flag was returned clear, but AX=0 then the file pointer was already at the end of the file. Register Call Value Return Value AH 3FH BX file handle CX number of bytes to be read DS:DX segment:offset address of buffer area AX Number of bytes read (CF clear) Error code: (CF set) 5 access denied 6 handle invalid INT 21H Function 40H Write to File or Device Given a handle from a successful open or create (3DH, 3CH, 5AH, or 5BH) and the pointer to a buffer, this function will transfer data from the buffer to the file. Register Call Value Return Value AH 40H BX file handle CX number of bytes to write DS:DX segment:offset of buffer area AX Number of bytes written (If CF clear) Error code (CF set) 5 access denied 6 handle invalid 8 (9)
9 (9)