Red de conocimiento informático - Conocimiento sistemático - Lenguaje ensamblador para escribir un programa para encontrar el valor máximo, el valor mínimo y la suma

Lenguaje ensamblador para escribir un programa para encontrar el valor máximo, el valor mínimo y la suma

;------------------------------------------ ------ ------------------

; Escribe un programa para encontrar el máximo, el mínimo y la suma

; >; Datos en datos Inicialización directa dentro del segmento

; El rango de datos está entre 0 y 100 y se pueden usar variables de bytes. Dado que la cantidad de datos no es mucha, la suma se puede usar como palabra. variables

; Los resultados calculados se muestran en la pantalla

.MODEL SMALL

;--------------- ------ -------------------------------------

; Definición de segmento de datos

;------------------------------------- ----------- ------------------

.DATA

; La matriz está inicializada. directamente en el segmento de datos

ARRY DB 5, 6, 7, 8, 16, 4, 7; El total no puede exceder 255

ARRY_LEN EQU $ - ARRY; calculando el número de datos

; Definir datos de visualización

D_MAX DB 13, 10, 'MAX = $'

D_MIN DB 13, 10, 'MIN = $'

D_SUM DB 13, 10, 'SUM = $'

; Definir variables

MAX DB 0; MIN DB 255; valor mínimo

SUM DB 0 ; Suma

.CODE

NUM_STR PROC

MOV AH, 0

MOV BL, 100

DIV BL

MOV DX, AX

MOV AH, 2

AÑADIR DL, 30H

INT 21H

MOV AL, DH

MOV AH, 0

MOV BL, 10

DIV BL

MOV DX, AX

MOV AH, 2

AÑADIR DL, 30H

INT 21H

MOV DL, DH

AÑADIR DL, 30H

INT 21H

RET

NUM_STR ENDP

; función

INICIAR PROC

MOV AX, @DATA

MOV DS, AX

El siguiente programa de bucle encuentra MAX, MIN, SUMA

MOV BX, OFFSET ARRY

MOV CX, ARRY_LEN

LOP:

MOV AL, [BX]

CMP AL, MAX

JC SIGUIENTE1

MOV MAX, AL

SIGUIENTE1:

CMP

AL, MIN

JNC NEXT2

MOV MIN, AL

NEXT2:

AÑADIR SUMA, AL

INC BX

LOOP LOP

El siguiente programa maneja la visualización de MAX

LEA DX, D_MAX

MOV AH, 9

INT 21H

MOV AL, MAX

CALL NUM_STR

El siguiente programa maneja la visualización de MIN

> LEA DX, D_MIN

MOV AH, 9

INT 21H

MOV AL, MIN

LLAMADA NUM_STR

; debajo El programa maneja la visualización de SUM

LEA DX, D_SUM

MOV AH, 9

INT 21H

MOV AL, SUM

CALL NUM_STR

; Fin del programa

MOV AX, 4C00H

INT 21H

INICIO FIN

FIN INICIO