Constellation Knowledge Network - Aprendizaje de Feng Shui - Cómo sumar números decimales de varios dígitos usando lenguaje ensamblador

Cómo sumar números decimales de varios dígitos usando lenguaje ensamblador

Ingrese dos valores decimales dentro de los 10 dígitos desde el teclado, sume la suma y muestre el resultado.

Cuando se ejecute el programa, se le pedirá que ingrese el sumando y el sumando. Una vez calculados y mostrados los resultados, se muestran Continuar y Salir.

El segmento de código asume cs:code, ds:code

org 100h; formato COM estándar

Inicio:

mov ax, 3 ;Modo texto

int 10h

Push cs

Cámara digital popular

Push ds

Elementos populares

Reiterar:

lea dx, mes 1; señalar

mov ah, 9

int 21h

mov di, 30fh

Entrada de llamada; número recibido a

lead dx, mes2 señalado

mov ah, 9

int 21h

mov di, 31fh

Entrada de llamada; número recibido b

Recuento de llamadas

lea dx, mes3

mov ah, 9

int 21h

;* * *Resultado decimal de salida* * *

Llamar a crt

lea dx, mes4

mov ah, 9

int 21h

mov ah, 0; abortar

int 16h

cmp, 15h; "Y(y)" continúa.

Es JZ otra vez; calculando la siguiente pregunta

mov ah, final de 4ch

int 21h

Entrada:

mov CX 10

T1:mov ah, 0; número de recepción

int 16h

cmp al, 0dh

jz ok

cmp al, '0'; verificación de datos

jb T1

cmp al, '9'

ja t1

Sí:

mov ah, 0eh muestra datos válidos

int 10h

w2: Empujar ax, empujar hacia la pila

Loop T1

Bueno: mover bp, cx

Compañía bp

mov cx, 11

Asiático cx, bp

Estándar

jcxz u3

u1:pop ax

stosb

Bucle u1

u3 :move al, ' 0 '

mov cx, bp

U2:stob

Bucle u2

remojar en agua para hacer soft

Cuenta: mov si, 30fh

mov di, 31fh

xor dx, dx; clear carry

mov cx, 11 ; cambiar este valor Se puede lograr la suma de supernúmeros.

T3: Llamada subs_c; acumula poco a poco

4 de diciembre

2 de diciembre

circunvalación T3

Remojado en agua para suavizar

subs_c:; subrutina central de adición de varios bits

mov al, [si]; [di]

También ax, 0f0fh

Agregar al, ah; autoagregado

Agregar al, dl además Último acarreo

aam convierte dos en diez.

mov dl, ah; lleva bit

o aluminio, 30h

mov [SI], al; guarda 1 bit y valor, copia incorrecta aquí.

Remojar en agua para suavizar

crt:cld

XOR pb, pb

mov si, 305h

mov CX 10

cr3:

mov al, [si]

cmp al, ' 0 '

jnz cr0< /p >

Empresa bp

Empresa si

Bucle cr3

cr0:

mov cx, 11

Asiático cx, pb

mov si, 305h

Agregar si, pb

cr1:lodsb

Mover, 0eh< / p>

int 10h

Bucle cr1

Remojar en agua para suavizar

mes1 db 0dh, 0ah, 09, 'Ingrese A (0 -9, 999, 999, 999): $ '

mes2 db 0dh, 0ah, 09, 'Entrada B (0-9, 999, 999, 999): $ '

mes3 db 0dh , 0ah, 09, 'Suma A+B= $ '

' mes4 db 0dh, 0ah, 09, '¿Continuar Y(y)? $'

Fin del código

Fin del inicio

上篇: El nombre de la niña Qingya, un bonito nombre en línea, los dos personajes de la niña Qingya 下篇: Buscando accidentes geográficos según el Feng Shui
Artículos populares