segun yo el codigo que pides va mas o menos asi
Código:
.include "1200def.inc"
.def gen=r16
.org $000
Inicio:
ldi gen,$ff
out DDRB,gen ;el puerto B es salida
ldi gen,$00
out DDRD,gen ;el puerto D es entrada
Principal:
in gen,PIND ; Lee el valor de las variables de entrada
andi gen,$07 ; Se queda con los tres bits de entrada.
add PC,gen ;Salta a la configuración adecuada.
Tabla:
rjmp Configuracion0
rjmp Configuracion1
rjmp Configuracion2
rjmp Configuracion3
rjmp Configuracion4
rjmp Configuracion5
rjmp Configuracion6
rjmp Configuracion7
Configuracion0:
ldi gen,$0A ; (Configuración 0).
rjmp ActivaSalida
Configuracion1:
ldi gen,$09 ; (Configuración 1).
rjmp ActivaSalida
Configuracion2:
ldi gen,$23 ; (Configuración 2).
rjmp ActivaSalida
Configuracion3:
ldi gen,$0F ; (Configuración 3).
rjmp ActivaSalida
Configuracion4:
ldi gen,$20 ; (Configuración 4).
rjmp ActivaSalida
Configuracion5:
ldi gen,$07 ; (Configuración 5).
rjmp ActivaSalida
Configuracion6:
ldi gen,$17 ; (Configuración 6).
rjmp ActivaSalida
Configuracion7:
ldi gen,$37 ; (Configuración 7).
ActivaSalida:
out PORTB,gen ; Visualiza por el puerto de salida.
rjmp Principal