Problemas de programación en ensamblador
Las variables de memoria y los nombres de los procedimientos no se pueden repetir, por lo que el nombre del procedimiento para encontrar el valor máximo se cambia a MAX1
DATA_SEG SEGMENT
ARRAY DB 72, 78 , 05, 85, 88, 12, 43, 67, 90, 51
MENSAJE1 DB 'MÁXIMO:'
MAX DB 2 DUP (?), 0DH, 0AH, '$ '
p>
DATA_SEG ENDS
segmento de código
asume cs: code, ds: data_seg
proceso principal lejos
mov ax, data_seg
mov ds, ax
lea si, array
llamar a max1
llamar a F2TO10
llamar DISPLAY
mov ah, 1
int 21h
mov ax, 4c00h
int 21h
final principal
proc MAX1 cerca
mov cx, MESSAGE1-array
dec cx
mov al, [si]
siguiente:
cmp al,[si 1]
jae next1
mov al,[si 1]
next1:
inc si
bucle siguiente
ret
max1 endp
F2TO10 proc
lea di, max
mov bl, al
mov cl, 10d
llamada dec_div
mov cl, 1d
llamar dec_div
ret
F2TO10 endp
dec_div proc
mov al, bl
mov ah, 0
div cl
mov bl,ah
añadir al, 30h
mov [di], al
p>
inc di
ret
dec_div endp
display proc near
lead dx, MENSAJE1
mov ah, 9
int 21h
ret
display endp
el código termina
finaliza el principal