Red de conocimiento informático - Conocimiento sistemático - Problema de ensamblaje: cómo comparar los tamaños de números con signo de dos palabras.

Problema de ensamblaje: cómo comparar los tamaños de números con signo de dos palabras.

Para comparar el tamaño de los dobles, puedes compararlos una o dos veces.

Por primera vez, compare primero los caracteres altos, según las reglas de las fracciones con signo: los grandes son más grandes, los pequeños son más pequeños

Si los caracteres altos son iguales, entonces compare los caracteres inferiores, de acuerdo con Las reglas para el tamaño de los números sin signo: los altos son grandes, los bajos son pequeños

Entonces, ¿qué pasa con el segmento de código de su programa? El código se puede escribir así

MOV AX, DATA; inicialización de segmento de programa

MOV DS, AX

MOV AX, STACK

MOV SS , AX

MOV DX, WORD PTR BUFA+2 Dependiendo del significado de la pregunta, el número se enviará a DX, AX, BX, CX

MOV; AX, WORD PTR BUFA

p>

MOV BX, WORD PTR BUFB+2

MOV CX, WORD PTR BUFB

CMP DX, BX; primero

JG MOVE_A ; A es más grande

JL MOVE_B ; B es más grande

CMP AX ; >

CMP AX, CX ; La palabra superior es igual a la palabra inferior

JAE MOVE_A ; A es más grande

JMP MOVE_B es más grande

MOVE_A:

MOVD PTR BUFC+2, DX; Un grande

MOVD PTR BUFC, AX

SALIDA JMP

MOVE_B:

MOVD PTR BUFC+2, BX; B grande

MOVD PTR BUFC, CX

SALIR:

Si el asunto es bufa>bufb, enviar 1 a dx, bufa= bufa=bufb, luego envía 0 a dx, bufa

MOV AX, DATA; >

MOV DS, AX

MOV AX, STACK

MOV SS, AX

MOV DX, WORD PTR BUFA+2 a DX, AX; , BX, CX Introducir número

MOV AX, WORD PTR BUFA

MOV BX, WORD PTR BUFB+2

MOV CX, WORD PTR BUFB

CMP DX, BX; compare primero las palabras superiores

JG MOVE_A; A es más grande

JL MOVE_B es más grande

CMP AX, CX ; La palabra superior es igual, luego se compara la palabra inferior

JA MOVE_A ; A es mayor

JZ MOVE_0 ;

MOVE_A:

MOV DX, 1; A grande

MOV_B; B grande

MOVE_A:

MOV DX, 1 ; Un grande

MOV DX, 1 ; Un grande

SALIDA JMP

MOVE_B:

MOV DX, - 1 ; B grande

SALIDA JMP

MOVE_0:

MOV DX, 0

SALIDA: