- Code: Select all
; Autore: Thief
; 1 - Carica un Vettore
; 2 - Visualizza il Contenuto del Vettore
; 3 - Inserire un'Elemento di Ricerca
; 4 - Comparare l'Elemento Inserito al Vettore
.MODEL small
.STACK 100h
.DATA
LU EQU 5h
titolo DB "Programma con Array in ASM",'$'
carica_vet DB 0AH,0DH,0AH,0DH, "Inserire gli Elementi del Vettore: ",'$'
visualizza_vet DB 0AH,0DH, "Gli Elementi Inseriti sono: ",'$'
elemento DB 0AH,0DH,0AH,0DH, "Inserisci l'Elemento di Confronto: ",'$'
vis_elemento DB 0AH,0DH, "L'elemento Inserito e': ",'$'
dat_trovato DB 0AH,0DH, "Dato Trovato: ",'$'
dato_nontrovato DB 0AH,0DH, "Dato NON Trovato: ",'$'
spazio DB " - ",'$'
autore DB 0AH,0DH,0AH,0DH, "Autore: Thief ©",'$'
VET DB 10 DUP(0)
.CODE
INIZIO:
MOV AX,@DATA
MOV DS,AX
MOV CL,LU
;Titolo
MOV DX,OFFSET titolo
MOV AH,9
INT 21H
MOV DX,OFFSET carica_vet
MOV AH,9
INT 21H
LEA BX,VET
INSERIMENTO: MOV AH,1
INT 21H
MOV [BX],AL
MOV DX,OFFSET spazio
MOV AH,9
INT 21H
INC BX
DEC CL
JNZ INSERIMENTO
MOV DX,OFFSET visualizza_vet
MOV AH,9
INT 21H
LEA BX,VET
MOV CL,LU
vISUALIZZA: MOV DL,[BX]
MOV AH,2
INT 21H
INC BX
DEC CL
MOV DX,OFFSET spazio
MOV AH,9
INT 21H
JNZ VISUALIZZA
; Elemento di Confronto
MOV DX,OFFSET elemento
MOV AH,9
INT 21H
MOV AH,1
INT 21H
LEA BX,VET
MOV CL,LU
RICERCA: CMP AL,[BX]
JZ DAT_TROVATO1
INC BX
DEC CL
JNZ RICERCA
MOV DX,OFFSET dato_nontrovato
MOV AH,9
INT 21H
JMP FINE
DAT_TROVATO1: MOV DX,OFFSET dat_trovato
MOV AH,9
INT 21H
MOV DL,[BX]
MOV AH,2
INT 21H
;Autore
MOV DX,OFFSET autore
MOV AH,9
int 21H
JMP FINE
FINE: MOV AH,4CH
INT 21H
END INIZIO



