Comments
Description
Transcript
ppt - Sergio Porcu
Sistemi a microprocessore Esercizi – parte I Domanda 1 Si desidera copiare il contenuto della variabile X1 nella variabile X2 (ambedue di tipo byte). Quale dei seguenti frammenti di codice esegue correttamente l’operazione richiesta? Soluzioni 1. MOV 2. MOV MOV 3. MOV MOV 4. XCHG X1, X2 AX, X1 X2, AX AL, X1 X2, AL X1, X2 Domanda 2 Si desidera confrontare due numeri con segno memorizzati in AX e BX, rispettivamente, saltando all’etichetta LAB se il primo è minore del secondo. Quale dei seguenti frammenti di codice NON esegue correttamente l’operazione richiesta? Soluzioni 1. CMP JB 2. CMP JL 3. SUB JL AX, BX LAB AX, BX LAB AX, BX LAB Domanda 3 Si consideri il seguente frammento di codice, che dovrebbe eseguire l’azzeramento di un vettore di N interi VETT: L1: VETT … MOV MOV MOV LOOP DW N DUP(?) CX, N BX, OFFSET VAR [BX], 0 L1 Quale dei seguenti errori è presente nel codice? Soluzioni 1. Il registro BX non viene incrementato 2. L’istruzione MOV [BX], 0 va corretta in MOV WORD PTR [BX], 0 3. L’istruzione MOV [BX], 0 va corretta in MOV BYTE PTR [BX], 0 4. L’istruzione MOV BX, OFFSET VAR va corretta in LEA BX, VAR Domanda 4 Si vuole eseguire il calcolo del prodotto di due interi con segno memorizzati in AX e BX, scrivendo il risultato in CX. Quale dei seguenti frammenti di codice è corretto? Soluzioni 1. MOV CX, AX*BX 2. IMUL AX, BX MOV CX, AX 3. MUL BX MOV CX, AX 4. IMUL BX MOV CX, AX Domanda 5 Si consideri il seguente frammento di codice MOV AX, 200 MOV BX, 10 DIV BX Qual è il contenuto di AX dopo la sua esecuzione? Soluzioni 1. 2. 3. 4. 10 20 0 indefinito Domanda 6 Si consideri il seguente frammento di codice MOV MOV ADD AX, 10000 BX, 10000 AX, BX Quale delle seguenti affermazioni è vera? Soluzioni 1. Dopo l’esecuzione del frammento, AX contiene il valore 20000 2. L’assemblatore segnala un errore 3. Durante l’esecuzione si verifica un overflow 4. Durante l’esecuzione il programma si blocca a causa dell’overflow Domanda 7 Si consideri il seguente frammento di codice MOV INT AH, 1 21H Al termine della sua esecuzione, qual è il valore di AL se da tastiera è stato premuto il tasto ‘0’? Soluzioni 1. 0 2. Indefinito 3. 48 Domanda 8 Si consideri il seguente frammento di codice VAR DB 0,1,2,3,4,5,6,7,8,9 … MOV BX, 2 MOV SI, 4 MOV AL, VAR[BX][SI] Dopo la sua esecuzione, qual è il valore di AL? Soluzioni 1. 2. 3. 4. 0 5 6 53