sumay resta

6
UNIVERSIDAD TÉCNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial Carrera de Ingeniería Electrónica y Comunicaciones MICROPROCESADORES Ciclo Semestral: Sexto Alumnos: Fecha de Envió: 13 de Enero del 2015 Fecha de Presentación: 15 de Enero del 2015 OCTUBRE 2014- MARZO 2015

Upload: david-cv

Post on 30-Sep-2015

212 views

Category:

Documents


0 download

DESCRIPTION

8085

TRANSCRIPT

UNIVERSIDAD TCNICA DE AMBATO

FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA E INDUSTRIAL

CARRERA DE ELECTRNICA Y COMUNICACIONES

UNIVERSIDAD TCNICA DE AMBATO

Facultad de Ingeniera en Sistemas, Electrnica e Industrial

Carrera de Ingeniera Electrnica y Comunicaciones

MICROPROCESADORES

Ciclo Semestral:

Sexto

Alumnos:

Fecha de Envi:

13 de Enero del 2015

Fecha de Presentacin:

15 de Enero del 2015

OCTUBRE 2014- MARZO 2015

Tema: SUMADOR Y RESTA

Ingresamos en los puerto puerto 00h el valor de 01H los datos y en el 05h seleccionas la suma y la resta en el 01h la resta y en el 10h la suma.

Suma y resta

.org 00h

;inicializar programa

selector:

;Etiqueta o subrutina

in 00h

;Ingreso en Puerto de entrada 00h

mov b,a

; mover el acumulador al registro b

in 01h

; ingresar el dato por el puerto 01h

mov c,a

; mover el acumulador al registro b

in 05h

; ingresar por el puerto 05

cpi 10h

;Compara dato inmediato 10 decimal con el acumulador

jz suma

;comparar el acumulador

jz suma

cpi 01h

;Compara dato inmediato 10 decimal con

jz resta

jnz borrado

jmp selector

borrado:

;etiqueta o subrutina

mvi a,00h

Mover el dato inmediato al acumulador

out 00h

out 01h

jmp selector

suma:

;Rutina o subrutina

mov a,b

;Mover el registro b al acumulador

add c

;sumar el registro

out 00h

jmp selector

resta:

;Rutina o subrutina

mov a,b

;Mover el registro b al acumulador

sub c

;resta el registro c del acumulador

mov e,a

;Mover el registro b al acumulador

jnc imprimir

jc signo

; si el acarreo es cero salte a la etiqueta

jmp selector

imprimir:

mvi a,00h

;Mover el registro b al acumulador

out 01h

mov a,e

;Mover el registro b al acumulador

out 00h

jmp selector

signo:

mvi a,ffh

;Mover el registro b al acumulador

sub e

adi 01h

out 00h

mvi a,ffh

;Mover el registro b al acumulador

out 01h

jmp selector

.org 00h

selector:

in 00h

mov b,a;Mover el registro b al acumulador

in 01h;ingresar un dato por el Puerto 01h

mov c,a

in 05h;ingresar un dato por el Puerto 05h

cpi 10h

jz suma;Si es cero salte a la etiqueta suma

cpi 01h; compara con el dato inmediato 01h

jz resta; si es cero salte a la etiqueta borrador

jnz borrado; si el resultado no es cero salte a la etiqueta borrador

jmp selector; salte a la etiqueta selector

borrado:; etiqueta o subrutina

mvi a,00h;Mover el registro b al acumulador

out 00h;salida en el Puerto 00h

out 01h

jmp selector

suma:

mov a,b;Mover el registro b al acumulador

add c

out 00h

jmp selector

resta:;etiqueta subrutina

mov a,b;mover el registro b al acumulador

sub c; resta el registro b del acumulador

mov e,a; mover el acumulador al registro e

jnc imprimir; salte si el acarreo no es cero

jc signo; salte si el acarreo es cero

jmp selector; saltar a la etiqueta selector

imprimir:

mvi a,00h; mover el dato inmediato 00h al acumulador

out 01h;

mov a,e;mover el registro e al acumulador

out 00h; enviar a la salida 00h

jmp selector; saltar a la etiqueta selector

signo:

mvi a,ffh; mover el dato inmediato ffh al acmulador

sub e; restar el registro b del acumulador

adi 01h; aade un bit al dato inmediato

out 00h

mvi a,ffh; mover un dato inmediato ffh al acumulador

out 01h

jmp selector ;Regresa a la etiqueta inicio en caso de no existir saltos anteriores

Suma:

Resta con el signo positivo

Resta con el signo negativo

El programa realiza la suma y la resta mediante el ingreso de control de 10h como la suma y 01h la resta. En la parte de la resta identifica el bit del signo negativo. Mediante el ingreso por el puerto 05h.