EMU8086 GENERATED LISTING. MACHINE CODE <- SOURCE. ric_min.exe -- emu8086 assembler version: 4.07 [ 19/02/2013 -- 0.36.15 ] =================================================================================================== [LINE] LOC: MACHINE CODE SOURCE =================================================================================================== [ 1] : Dati SEGMENT [ 2] 0000: 05 03 01 06 04 0A 08 02 07 09 Vett DB 5,3,1,6,4,10,8,2,7,9 ; vettore di numeri su cui cercare il minimo [ 3] 000A: 00 Minimo DB ? ; il minimo viene messo in Minimo [ 4] : Dati ENDS [ 5] : [ 6] : Codice SEGMENT [ 7] : [ 8] 0010: Inizio: [ 9] 0010: B8 00 00 MOV AX,Dati ; setta la posizione del segmento DS [ 10] 0013: 8E D8 MOV DS,AX [ 11] : [ 12] 0015: B9 0A 00 MOV CX,10d ; pone il numero di elementi da scandire [ 13] 0018: BB 00 00 MOV BX, Offset Vett ; punta con BX all'inizio del vettore di numeri [ 14] 001B: 8A 07 MOV AL,[BX] ; ipotizza il numero in prima posizione come minimo [ 15] 001D: A2 0A 00 MOV Minimo,AL ; lo passa in Minimo [ 16] : ; (variabile che contiene il corrente minimo candidato) [ 17] 0020: Ciclo: [ 18] 0020: 43 INC BX ; sposta il puntatore al successivo elemento del vettore [ 19] 0021: 8A 07 MOV AL,[BX] [ 20] 0023: 38 06 0A 00 CMP Minimo,AL ; controlla se l'elemento corrente è minore del minimo candidato [ 21] 0027: 76 05 JNA Non_Sost ; se non lo è salta la riassegnazione del minimo corrente [ 22] 0029: 8A 07 MOV AL,[BX] ; riassegnazione del minimo corrente [ 23] 002B: A2 0A 00 MOV Minimo,AL [ 24] 002E: Non_Sost: [ 25] 002E: E2 F0 LOOP Ciclo ; cicla su un altro elemento di vett [ 26] : [ 27] 0030: B4 4C MOV AH,4Ch ; ritorno a DOS.... [ 28] 0032: CD 21 INT 21h [ 29] : [ 30] : Codice ENDS [ 31] : [ 32] : END Inizio [ 33] : ===================================================================================================