Suma Y Retsa Ded Dos Numeros De Hasta 20 Digitos

Páginas: 15 (3622 palabras) Publicado: 1 de febrero de 2013
LENGUAJE ENSAMBLADOR 80386

PRÁCTICA 11

PRÁCTICA 11
SUMA, RESTA, MULTIPLICACIÓN Y DIVISIÓN DE DOS NÚMEROS
ENTEROS POSITIVOS DE HASTA 20 DÍGITOS DECIMALES
1.

INTRODUCCIÓN
Mediante esta práctica, trabajaremos con números binarios de hasta
veinte dígitos decimales y haremos las operaciones básicas de suma,
resta, multiplicación y división de dos números enteros positivos,
donde elprimer número debe ser mayor que el segundo

2.

OBJETIVOS
Al término de esta práctica el alumno podrá:

2.1.
2.2.

Realizar operaciones básicas y exhibir el resultado

2.3.

3.

Trabajar con rutinas aritméticas multidígito

Hacer que un programa sea más robusto, es decir, que no falle.

DESARROLLO
3.1.

%TITLE

Capturar los siguientes módulos con el nombre MBIN.ASM,ensamblarlo y
meterlo a la librería REM.
“CUATRO OPERACIONES FUNDAMENTALES EN NÚMEROS DE 8 BYTES”

IDEAL
DOSSEG
MODEL

Ent1
Ent2
Salt1
Salt2

small

DATASEG
DQ
0
DQ
0’
DQ
0
DQ
0,0

doble dd

;variable para 64 bits
;ídem
;ídem
;para 128 bits

0,0

CODESEG
PUBLIC
PUBLIC

SumaBin,RestaBin,MultiBin,DivideBin,CompBin
MbinAsc,MbinAscD,CopiaBin,EntraBin

AUTOR: PROFESORSALVADOR SAUCEDO FLORES
EDICIÓN: PROFESOR PABLO FUENTES RAMOS

11-1

LENGUAJE ENSAMBLADOR 80386

;SumaBin
;
;Entrada:
;
;
;Salida:
;Registros:

PROC

SUMA DE DOS NÚMEROS BINARIOS DE 64 BITS
SI = dirección del primer número
DI = dirección del segundo número
BX = dirección del resultado
Resultado donde se pedía
Ninguno

SumaBin
push si di bx cx ax

mov
clc
@@10:
movinc
inc
adc
inc
inc
mov
inc
in
loop
pop
ret

PRÁCTICA 11

;salva todo

cx,4

;pone número de palabras
;limpia CF

ax,[si]
si
si
ax,[di]
di
di
[bx],ax
bx
bx
@@10

;trae palabra del primer número
;apunta a siguiente palabra

ax cx bx di si

;recupera
;retorno

;suma palabra de segundo número
;apunta a siguiente palabra
;pone palabra resultante
;apunta asiguiente palabra

ENDP

SumaBin

;RestaBin
;
;Entrada:
;
;
;Salida:
;Registros:

RESTA DOS NÚMEROS BINARIOS DE 64 BITS

PROC
push
mov
clc
@@10:
mov
in
inc
sbb
pushf
inc
inc
mov
inc
inc

SI = dirección del primer número (sustraendo)
DI = dirección del segundo número (minuendo)
BX = dirección del resultado (segundo – primero)
Resultado en su lugar, banderas se afectansegún resultado
Ninguno

RestaBin
si di bx cx ax

;Salva todo

cx,4

;resta cuatro palabras
;borra “préstamo”

ax,[di]
di
di
ax,[si]

;trae palabra de segundo número
;apunta a siguiente palabra

si
si
[bx],ax
bx
bx

AUTOR: PROFESOR SALVADOR SAUCEDO FLORES
EDICIÓN: PROFESOR PABLO FUENTES RAMOS

;sustrae palabra
;salva banderas
;apunta a siguiente palabra
;salvaresultado
;apunta a siguiente palabra

11-2

LENGUAJE ENSAMBLADOR 80386

popf
loop
pop
ret

PRÁCTICA 11

;recupera banderas

@@10
ax cx bx di si

;repone

ENDP

RestaBin

;MultiBin
;
;Entrada:
;
;
;Salida:
;Registros:

MULTIPLICA DOS NÚMEROS BINARIOS DE 64 BITS

PROC
;

SI = dirección del primer factor
DI = dirección del segundo factor
BX = dirección pararesultado
Resultado de 128 bits
Ninguno

MultiBin
push si di bx cx ax

;salva todo

Limpia área de resultado

push
mov
mov
cld
@@10:
mov
inc
inc
loop
pop

bx
x,0
cx,8

;salva apuntador
;pone ceros
;es de doble precisión
;hacia delante

[bx],ax
bx
bx
@@10
bx

;limpia una palabra
;apunta a siguiente palabra

mov
@@20:
push
mov
inc
inc

cx,4

;trae númerode palabras

cx
dx,[si]
si
si

;salva contador externo
;trae palabra del primer factor
;apunta a siguiente palabra

;16 bytes
;recobra dirección

push bx di
mov
pop
mov
;

;salva registros durante lazo interno
;pone número de palabras
;restaura directorio a dividendo
;SI apunta a divisor temporal

inicia contador de corrimientos

mov
;

cx,4
di
si,offset Sal2...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • suma de dos digitos
  • Suma De Dos Números De Un Digito En Lenguaje Ensamblador
  • Tema 4 Suma con numeros de dos digitos
  • Suma De Dos Numero En Turbo C
  • Suma de los numeros digitos
  • suma de los digitos
  • Suma de digitos
  • Depreciación por el Método de Suma de Dígitos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS