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