Microprocesadores

Solo disponible en BuenasTareas
  • Páginas : 2 (360 palabras )
  • Descarga(s) : 0
  • Publicado : 25 de abril de 2011
Leer documento completo
Vista previa del texto
• Realice un programa que tenga TRES puertos, DOS de entrada en la dirección 00h(NUM_A) y 01H(NUM_B) y otro de salida en la dirección 02h(LEDS), el cual funcione bajo lasiguiente tabla:

OPERACIÓN LEDS
00H ROTA A 4 VECES A LA IZQUIERDA
01H ROTA B 6 VECES A LA DERECHA
02H A+5B
03H A-B
DEFAULT 00H

;DECLARACION
NUM_A EQU 00H
NUM_B EQU 01HLEDS EQU 02H
OPC EQU 03H
;INICIO
ORG 0000H
PROG2: IN NUM_A
MOV B,A
IN NUM_B
MOV C,A
;INGRESO DE OPCION
IN OPC
MOV D,A
MVI A,00H
SUB D
JZ ROTIZQ
MVI A,01HSUB D
JZ ROTDER
MVI A,02H
SUB D
JZ SUMA
MVI A,03H
SUB D
JZ RESTA
JMP DEFAL
ROTIZQ: MVI E, 04H
MOV A,B
OUT LEDS
FOR: RLC
OUT LEDS
DCR E
JNZ FORJMP PROG2
ROTDER: MVI E,06H
MOV A,B
OUT LEDS
FOR1: RRC
OUT LEDS
DCR E
JNZ FOR1
JMP PROG2
SUMA: MVI A,04H
MOV E,A
MOV A,C
WHILE: ADD C
DCR E
JNZ WHILEMOV H,A
MOV A,B
ADD H
OUT LEDS
JMP PROG2
RESTA: MOV A,B
SUB C
OUT LEDS
JMP PROG2
DEFAL: MVI A,00H
OUT LEDS
JMP PROG2
num_a equ 00h
num_b equ 01h
ledsequ 02h
opr equ 03h
;inicio
org 0000h
inicio: in num_a
mov e,a
in num_b
mov b,a
;ingreso de operacion
in opr
mov c,a
mvi a,00h
sub c
jz izqmvi a,01h
sub c
jz der
mvi a,02h
sub c
jz suma
mvi a,03h
sub c
jz resta
jmp default
izq: mvi e, 04h
mov a,e
out leds
for: rlc
out leds
dcrd
jnz for
jmp inicio
der: mvi d,06h
mov a,e
out leds
for1: rrc
out leds
dcr d
jnz for1
jmp inicio
suma: mvi a,04h
mov d,a
mov b,c
while:add b
dcr e
jnz while
mov h,a
mov e,b
add h
out leds
jmp inicio
resta: mov a,e
sub c
out leds
jmp inicio
default: mvi a,00h
out leds
jmp inicio
tracking img