Questo sito ha bisogno della pubblicità per poter essere mantenuto. Gentilmente disabilita il blocco della pubblicità nel tuo browser per questo sito web.
Caricamento in corso...Caricamento in corso...
Caricamento in corso...

Massimo di un array di interi di 2 cifre

Scrivere un programma completo in MASM Assembly che:
- definisca un array di numeri interi ognuno dei quali deve essere almeno a 2 cifre
- determini il massimo tra di essi
- lo converta in una stringa di caratteri numerici
- lo stampi a video



.model small
.stack 100h
.data
str1 db "Il numero massimo e'", "$"
num db 11,10,30,40,50,13,47,36

n1 db 0
n2 db 0
max db 0
.code


findmax proc
mov cx, lengthof num
mov di, 0
ciclo1:
mov al, [num+di]

cmp al, bl
jle E1

mov bl, al

E1:

inc di
loop ciclo1

mov max, bl
ret
findmax endp

num2string proc
mov bl, 10
div bl

mov n1, al
mov n2, ah

mov ah, 2h

mov dl, n1
or dl, 30h
int 21h

mov dl, n2
or dl, 30h
int 21h

ret
num2string endp


;
main proc
mov ax, @data
mov ds, ax


mov dx, offset str1
mov ah, 9h
int 21h

invoke findmax

mov ah, 0
mov al, max
invoke num2string

;
mov ax, 4c00h
int 21h
main endp
end main