Operaciones Aritméticas Ensambler

Páginas: 9 (2112 palabras) Publicado: 25 de junio de 2014
UNIVERSIDAD
TECNOLÓGICA
NACIONAL

Técnicas Digitales II
Año 2008
Trabajo Práctico Nro 3: Assembler

J.T.P. Ing. Steiner Guillermo.
Email:gsteiner@scdt.frc.utn.edu.ar

Trabajo Práctico Nro 3: Assembler
Banderas
Nombre
Desbordamiento: Indica cuando el resultado de una operación con
signo a excedido la capacidad del uP.
Dirección: Controla la selección de incremento o decremento delos
registros DI o SI en las instrucciones de cadenas.
Interrupción: habilita la entrada de interrupción.
Signo: indica el signo del resultado de la última operación
aritmética.
Cero: indica si la última operación dio como resultado cero.
Acarreo auxiliar: ocurre cuando en una operación aritmética, se
produzco un acarreo o un préstamo entre el bit 3 y 4 del resultado.
Paridad: es un conteode unos en la última operación.
Acarreo: indica un acarreo o un préstamo en la última operación
aritmética, usado también en operaciones de corrimiento y como
indicador de error en ciertos programas.

Estado = 0
NV-No hubo
desborde
UP-Incremento

Estado = 1
OV-Desborde
DN-Decremento

DI-Interr. anulada EI-Interrupción
PL-Positivo
NG-Negativo
NZ-No Cero
NA-Sin Acarreo

ZR-CeroAC-Acarreo

PO-Impar
NC-Sin Acarreo

PE-Par
CY-Acarreo

Suma con acarreo
ADD: Esta instrucción suma el primer operador con el segundo y al resultado lo guarda en el primer operador, si
hubo acarreo lo guarda en Carry.
ADC: Realiza la misma operación que ADD incorporando también el Carry en la suma de los operadores.
CF

ADD AX,BX

AX

ADC AX,BX

AX

BX
CF

BX

AX

CFAX

Para el caso de sumar números cuya longitud supera a los 16 bits del microprocesador o que su resultado sea mayor
que 16 bits, se debe recurrir al uso de la suma con acarreo.
Esto significa, que en el caso por ejemplo de sumar dos números de 32 bits, se realiza la suma de los 16 bits menos
significativos y luego los 16 bits mas significativos junto con el acarreo.
Suma con ADC

Sumacon ADD

16 bit altos

16 bit bajos
CF

CF

CF

1

Técnicas Digitales II
Año 2008
Trabajo Práctico Nro 3: Assembler

UNIVERSIDAD
TECNOLÓGICA
NACIONAL

J.T.P. Ing. Steiner Guillermo.
Email:gsteiner@scdt.frc.utn.edu.ar

Ejercicio Nro 1
Sumar 2 nro de 32 bits contenidos en AX BX y CX DX respectivamente, guardando el resultado en AX BX.
AX BX = 0134A23Bh
CX DX = BD02E329h; sumar dos números de 32 bits
name "suma32"
org 100h
mov ax,0134
mov bx,A23B
mov cx,BD02
mov dx,E329
add bx,dx
adc ax,cx
ret
AX BX = BE378564 (Resultado)

Movimiento (Shift) común y Aritmético
SHL (Shift Left)
7

SHR (Shift Right)
7

0
0

0

0

CF

CF

Multiplicar sin signo

Dividir sin signo

SAL (Shift Arithmetic Left)
7

SAR (Shift Arithmetic Right)
7

00

0
CF

CF

Multiplicar con signo

Dividir con signo

Rotación
ROL (Rotate Left)
7

ROR (Rotate Right)
0

7

0

CF

CF

Rotación a la izquierda de 8 bits

Rotación a la derecha de 8 bits

RCL (Rotate through Carry Left)

RCR (Rotate through Carry Right)

7

0

7

0

CF

Rotación a la izquierda de 9 bits

CF

Rotación a la derecha de 9 bits

2 Técnicas Digitales II
Año 2008
Trabajo Práctico Nro 3: Assembler

UNIVERSIDAD
TECNOLÓGICA
NACIONAL

J.T.P. Ing. Steiner Guillermo.
Email:gsteiner@scdt.frc.utn.edu.ar

Formato de las instrucciones
Si bien se pueden realizar corrimiento o rotaciones de 1 o más bits, solo está permitido el de 1 bit en inmediato, en
estos casos para un corrimiento de más de un bits, se debe utilizarun registro auxiliar, el CL
Ejemplos
Shift a la derecha de un 1 bit

Shift a la derecha de 4 bits
MOV CL,4
SHR BX,CL

SHR BX,1

Ejercicio Nro 2
Usando instrucciones Shift ingresar un número en AX y multiplicarlo por 7
; multiplicar por 7
name "multip7"
org 100h
mov ax,023Ah
mov bx,ax
mov cl,03
shl bx,cl
sub bx,ax
ret ; volver al sistema operativo

Resultado 0F96h

Stack...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Operaciones Aritmeticas
  • Operadores Aritmeticos
  • Operaciones Aritmeticas
  • operadores aritméticos
  • Operaciones aritmeticas
  • Operadores Aritmeticos
  • operaciones aritmeticas
  • operadores aritmeticos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS