Escribir un programa ensamblador
; Ingrese dos números desde el teclado para agregar: solo necesita cambiar data1, data2 y sun a add01, add02 y Sum0 respectivamente. Defina el modo de almacenamiento del programa.
.stack; definir segmento de pila
.data; definir segmento de datos
data1 db 81; p > db 81 dup(0); también puede ser db 81 dup(?)
data2 db 81
db 0
db 81 dup(0)
string1 db 'numbe1 es $'; define la cadena que se mostrará en el segmento de datos
string2 db 'numbe2 es $'
string3 db 'sum es $ '
.code; Definir segmento de código
.startup; Punto de inicio del programa, establecer DS, SS
mov dx, cadena de desplazamiento1; 9
mov ah, 09h
int 21h mov dx, offset data1; ingresa la primera cadena desde el teclado
mov ah, 0ah
int 21h
mov dl, 0ah; salto de línea
mov ah, 02h
int 21h mov dl, 0dh;
mov ah, 02h
int 21h mov dx, offset string2; use la función número 9 para llamar a la información de visualización
mov ah, 09h
int 21h mov dx, offset data2; ingresa la segunda cadena desde el teclado
mov ah, 0ah
int 21h mov dl, 0ah; ah, 02h
int 21h mov dl, 0dh; retorno de carro
mov ah, 02h
int 21h
mov dx, desplazamiento string3; use la función No. 9 Llamar a mostrar información
mov ah, 09h
int 21h llamar suma; llamar a subrutina.salir 0, regresar a la definición de subrutina DOSSUM;
mov bx,
0; suma
mov cx, 0
clc
mov si, desplazamiento datos1
mov cl, [si 1]
p>agregar si,cx
mov di,offset data2
agregar di,cx
LOPA1:
mov ax , [si]
xchg al, ah
y ax, 0f0fh y, haga que el bit alto sea cero, incluso si elimina el bit alto, también puede usar la resta para restar. 30
mov bx, [di]
xchg bl, bh
and bl, 0fh
adc al, bl; llevar
aaa; ajustar decimal
xchg al, ah
mov palabra ptr[si], ax
dec si
dec di
dec cl
jne LOPA1
jnc ncf
mov si, offset data1
mov cl, [si 1]
inc si
mov byte ptr[si], 1
jmp prinncf: mov si, offset data1 p>
mov cl , [si 1]
inc cl
inc si
mov byte ptr [si], 0
cmp byte ptr[si ], 0
je Z0
prin:
mov dl, byte ptr [si]
add dl, '0'
mov ah, 02h
int 21hZ0:
inc si
dec cl
jne prin
RET
SUM ENDP
; Utilice la llamada de función para mostrar información
.exit 0 ; , volver a DOS
fin del ensamblaje