Utilice lenguaje ensamblador para escribir la operación de suma de 1+2+....+100 en el sistema DOS y mostrar el resultado
Agregar al segmento de código de cinco dígitos; dos cualquiera
Asumir CS: código, DS: código, SS: código
Formato COM estándar de organización <; /p>
Inicio:
?JMP start
Pregunta DB 0DH, 0AH, 09, '?$'
X1 DB '23456 98765 = '
Y1 DB 000000. Presione Esc para salir...', 24 horas
Inicio:
?PUSH CS
? POP DS
?PUSH DS
?Pop ES
MOV AX, 3, modo texto
?INT 10H
Sigue siendo la misma frase: MOV DX, mensaje de desplazamiento
MOV AH, 9
?INT 21H
Entrada de llamada, recibe dos cinco -número de dígitos
Recuento de llamadas; resumen
; resultado decimal de salida****
MOV DX, desplazamiento Y1 [-1]
MOV AH , 9
?INT 21H
MOV AH, 0; pausa
?INT 16H
MOV AH, 01; para salir
título A del recálculo de JNZ
MOV AH, 4CH End
?INT 21H
Entrada: CLD
MOV SI, desplazamiento X1
MOV cx, 2
T0: empujar CX
MOV cx, 5
T1: MOV AH, 0; recibir datos
INT 16H
?CMP AL, 30H; verificación de datos
JB T1
CMP AL, 39H
JA T1
?MOV AH, 0EH visualización de datos,
INT 10H
?Transmitir [ciudad], persona, almacenado en el área de datos
Empresa SI
Bucle T1
INC SI omitir signo más
?Pop CX
CMP CX, 2
JNZ T2
?MOV AX, 0e2bh;Salida signo positivo
INT 10H
T2: bucle T0
RET
Número: MOV SI, desplazamiento X1 [4]
?MOV DI, desplazamiento Y1 [5 ]
?
?Diciembre SI
?Diciembre II
Ciclo T3?
?CMP DL, 1, corregir el bit más alto
?JNZ T4
?O DL, 30H
?MOV [DI ] , DL; realizar ajustes
?JMP T5
T4: byte MOV PTR [II], 20H, sin ceros a la izquierda
T5: RET
subs_c: subrutina central sumadora de números [original]
?MOV AL, [SI] bit más bajo alineado
?MOV AH, [SI +6] < /p; >
y ax, 0f0fh
Agregar ah self-set
Volver a agregar rou;
sumadores nded, DL;
?Misil aire-aire, dos decimales
MOV DL, ah, posición de almacenamiento
?AL, 30H
MOV [2], AL; hacer una fortuna
?RET
Fin del código
Inicio