Red de conocimiento informático - Conocimiento sistemático - Expertos en montaje, por favor vengan

Expertos en montaje, por favor vengan

Forma de A B=C

ENTRADA NÚMERO DE MACRO

LOCAL SIGUIENTE1

LOCAL SIGUIENTE2

LOCAL FINAL0

SIGUIENTE1 :

LEA DX, STRING1

MOV AH, 9

INT 21H

MOV AH, 1

INT 21H

CMP AL, 30H

JL NEXT2

CMP AL, 39H

JG NEXT2

JMP END0

SIGUIENTE2:

LEA DX, STRING2

MOV AH, 9

INT 21H

JMP SIGUIENTE1

END0:

AND AL, 0FH

NUM MOV, AL

ENDM

SEGMENTO DE DATOS

STRING1 DB 0AH, 0DH, 'Ingrese un número (0 a 9): $'

STRING2 DB 0AH, 0DH, '¡Número incorrecto! $'

STRING3 DB 0AH, 0DH

DB 10 DUP(0) <

NUM1 DB

NUM2 DB p>

FINES DE DATOS

SEGMENTO DE PILA1 PARA PILA

BUF Db 60 DUP(?)

FINALES DE PILA1

SEGMENTO DE CÓDIGO

ASUMIR CS: CÓDIGO, DS: DATOS, ES: DATOS

INICIO:

MOV AX, DATOS

MOV DS , AX

MOV ES.AX

Introduce NUM1

Introduce NUM2

CLD

LEA DI, [ STRING3 2 ]

MOV AL, NUM1

O AL, 30H

STOSB

MOV AL, 2BH

STOSB

MOV AL, 2BH

STOSB

MOV AL, NUM2

O AL, 30H

STOSB

MOV AL, 3DH

STOSB

XOR AX, AX

MOV AL, NUM1

AÑADIR AL, NUM2

AAA

EMPUJAR HACHA

MOV AL, AH

PRUEBA AL, AL

JZ SIGUIENTE

O AL, 30H

STOSB

SIGUIENTE:

POP AX

O AL, 30H

STOSB

MOV

AL, 24H

STOSB

LEA DX, STRING3

MOV AH, 9

INT 21H

MOV AX, 4C00H

INT 21H .

CODIGO FINALIZA

FIN INICIO

El siguiente es un algoritmo que aproxima la raíz cuadrada de un ¡número!

1 3 5 7...2(n-1)=n-cuadrado

Por lo tanto, simplemente resta n-cuadrado continuamente del número impar 1.3.5 El valor de… . .2(n-1) Cuando la n 1ª diferencia es negativa, entonces el número de restas n puede aproximarse al valor cuadrado. Puede que no lo haya dejado lo suficientemente claro, ¡pero le proporcionaré una subrutina de prescripción para su referencia!

mov bx, 0

mov dx, 1

mov ax, y; y es el número a elevar al cuadrado

nuevamente: sub ax, dx

jc exit; si no hay suficientes restas, finaliza

inc dx

inc dx

inc bx.

jmp nuevamente

El valor de ese bx al final es la raíz cuadrada requerida