Red de conocimiento informático - Conocimiento sistemático - El lenguaje ensamblador implementa la suma de bloques de datos, valores máximos y mínimos y clasificación.

El lenguaje ensamblador implementa la suma de bloques de datos, valores máximos y mínimos y clasificación.

; Ordenar de pequeño a grande

; Generar 20 números

SEGMENTO DE DATOS

Ingrese el código del segmento de datos aquí

>

NUM DW 3, 2, 1, 0

COUNT EQU ($-NUM)/2;N número

DATAS TERMINA

SEGMENTO DE PILAS

; Introduzca aquí el código del segmento de pila

DW 40H DUP (?)

PALABRA DE ETIQUETA SUPERIOR

EXTREMOS DE PILAS

SEGMENTO DE CÓDIGOS

ASUME CS: CÓDIGOS, DS: DATAS, SS: PILAS

PROC PRINCIPAL LEJOS

INICIO:

MOV AX, DATAS

MOV DS, AX

MOV AX, STACKS

MOV SS, AX

LEA SP, TOP

>

; Introduzca el fragmento de código aquí

MOV CX, COUNT

DEC CX

LEA SI, NUM

CLD

L2:

CALL SORT; clasificación de burbujas, ordenar de pequeño a grande

LOOP L2

MOV CX, COUNT

LEA SI, NUM

CLD

L3:

SALIDA DE LLAMADA; genera un número con signo decimal

MOV DL, ' '

MOV AH, 6

INT 21H; delimitador de salida

LOOP L3

MOV AH, 4CH

INT 21H

MAIN ENDP

; Parámetros entrantes: CX, número de comparaciones; SI, posición inicial de la matriz

; Valor de retorno: Matriz

p>

;Función: Mover el número más grande al final de la matriz

SORT PROC NEAR

PUSH CX

PUSH SI

L4:

LODSW

CMP AX, [SI]

JNA L5

XCHG AX, [SI]

MOV [SI-2], AX

L5:

LOOP L4

POP SI

POP CX

RET

SORT ENDP

; Parámetros entrantes: SI, ubicación de almacenamiento digital

Valor de retorno: matriz

; >; Función: tomar un número de la ubicación de almacenamiento y generarlo como un número decimal con signo

SALIDA PROC CERCA

PUSH CX

PUSH DI

MOV DI, 10

XOR CX, CX

LODSW

MOV BX, AX

PRUEBA BX, 8000H

JZ L12

MOV DL, '-'

MOV AH, 2

INT 21H

DEC BX

NO BX

L12:

MOV AX, BX

L13:

XOR DX, DX

DIV DI

AÑADIR DX, 30H

PUSH DX

INC CX

CMP AX, 0

JNE L13

MOV AH, 2

L14:

POP DX

INT 21H

LOOP L14

POP DI

POP CX

RET

SALIDA ENDP

CÓDIGOS FINALES

FIN INICIO