Ensamblador - Conversor ASCII a 7Segmentos

 
Vista:

Conversor ASCII a 7Segmentos

Publicado por Ramon (1 intervención) el 21/11/2012 11:27:10
Hola tengo un problemilla, y es que nose como sacar dos funciones que me faltan en ensamblador. Las dos funcienes son:

char ato7seg (char c). Convierte el carácter que se pasa en código ASCII a
código de 7 segmentos. En caso de que c no sea un dígito decimal (‘0' a ‘9'),
devuelve el código de error $FF (todos los segmentos encendidos).

void dspPinta (char c). Pinta el carácter c en el display de 7 segmentos. c
debe ser el código ASCII de un dígito de ‘0' a ‘9'. Si no es así, no pinta nada. Esta
función desplaza todos los dígitos del display un lugar a la izquierda y pinta el que
se pasa como parámetro en el de más a la derecha. Llama a ato7seg para hacer
la conversión a 7 segmentos

Estas la tengo ya echas:
void dspBorra (void). Hace la función inversa a la anterior. Desplaza todos los
dígitos una posición a la derecha y borra el de más a la izquierda.
void dspBorraTodo (void). Borra los cuatro dígitos del display

Os dejo el codigo por si quereis anotarme algo:

display equ $E010 ;Valor incial de Display


***************************************
*FUNCION RELIAZA CONVERSION 7 SEGMENTOS
***************************************
ato7seg


NOSE QUE PONER AQUI
lea tabla7Segmento,A0




*************************************************
*FUNCION VA PINTANDO LOS NUMEROS QUE VAN LLEGANDO
*************************************************
dspPinta

NOSE QUE PONER AQUI




move.b display+3,display+1
move.b display+5,display+3
move.b display+7,display+5



********************************************
*FUNCION DESPLAZA A LA IZQ Y BORRA EL ULTIMO
********************************************
dspBorra move.b display+5,display+7
move.b display+3,display+5
move.b display+1,display+3
clr display+1
rts

***************************************
*FUNCION BORRA TODOS LOS DISPLAYS
***************************************
dspBorraTodo clr.b display+7
clr.b display+5
clr.b display+3
clr.b display+1
rts

***************************************
*TABLA 7 SEGMENTOS
***************************************
tabla7Segmento dc.b $10000000
dc.b $01111110 ;0
dc.b $00110000 ;1
dc.b $01101101 ;2
dc.b $01111001 ;3
dc.b $00010011 ;4
dc.b $01011011 ;5
dc.b $01011110 ;6
dc.b $01110000 ,7
dc.b $01111111 ;8
dc.b $11111111 ;Error




Muchisimas gracias. Un abrazo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder