Constellation Knowledge Network - Conocimiento de adivinación - Intenta escribir un programa en lenguaje ensamblador para completar la función de suma de dos números de 1 decimal.

Intenta escribir un programa en lenguaje ensamblador para completar la función de suma de dos números de 1 decimal.

;El siguiente programa es un ensamblado de 16 bits y se ejecuta correctamente después de la compilación.

;Nombre del programa: adición. Misil aire-tierra

Segmento de línea adicional

Supongamos CS: adición, DS: adición

ORG 100H

Inicio: JMP start

p>

First_Num DB 'Primer número: $ '

Second_Num DB 'Segundo número: $ '

Addi_Sum DB 'La suma es'

SumaASCII DB 2 DUP('0 '), ' $ '; el número ASCII de dos dígitos que es la suma de dos números.

Exit_Mark DB 0

; Subrutina

GLOBAL Get_Num: NEAR; Acepta un número 1 del teclado.

Cerca de Get_Num Proc

MOV AH, 9

INT 21H

Entrada: MOV AH, 1

INT 21H

CMP AL, 27;

JZ SET_EXPORT

CMP AL, '0'

JB ENTRADA h

CMP AL, '9'

Entrada JG

Además, 0FH

remojado en agua para suavizarlo

establecer _ Salida: INC Salir _ Marcar configurar salida

;

El remojo suaviza

Get_Num End

Inicio: MOV Ax, 3

INT 10H; establece el modo de visualización de video en 80x25, modo de texto de 16 colores.

LEA DX, First_Num solicita la primera dirección de cadena de 1 dígito.

Llama a Get_Num para recibir un número 1 desde el teclado.

CMP Exit_Mark, 1

JZ Exit_Process; si se establece el indicador de salida, el programa finaliza.

MOV·Sumasiyi; guarda el primer número.

MOV, 3

XOR Co., Ltd.

INT 10H; Obtener la posición del cursor

Número de línea INC DH aumentado en 1

p>

XOR DL, DL; número de columna cero

XOR Co., Ltd.

MOV, 2

INT 10H; establece la posición del cursor hacia abajo La primera columna de una fila.

LEA DX, Second_Num solicita la segunda dirección de cadena de 1 dígito.

Llame a Get_Num para aceptar el segundo número 1 en el teclado.

Suma AL y SumASCII más dos dígitos de 1.

Guerra química y biológica

MOV BL, 10

DIV BL Cuando la suma se divide por 10, el cociente se almacena en AL y el resto se almacena en AH.

O AX, 3030H convierte el cociente y el resto en código ASCII

CMP AL, ' 0 '

JG Disp_Sum>: 0, Muestra la suma; de dos números.

MOV·Al,"; si cociente = 0, diez espacios.

Mostrar suma:

Texto MOV PTR SumASCII, AX

MOV Ah, 3

XOR Co., Ltd.

INT 10H; Obtener la posición del cursor

El número de líneas INC DH ha aumentado en 1

El número de líneas INC DH ha aumentado en 1

XOR DL, DL; número de columna cero

XOR Co., Ltd.

MOV, 2

INT 10H; de la siguiente línea.

LEA DX, Addi_Sum muestra la suma de dos números.

MOV, 9

INT 21H

Exit_Proc: MOV AX, 4C00H finaliza el programa

INT 21H

La suma termina

El final comienza

上篇: Hola, prima. Sus clásicas líneas divertidas. 下篇: ¿Qué es el derecho al nombre?
Artículos populares