jump to navigation

Propuesta para congelar la versión 1.4 19 septiembre, 2011

Posted by pjmicrocontroladores in Información general, Lanzamiento de versión.
trackback

En los últimos meses se ha avanzado de forma bastante lenta en el proyecto, pero creo que ha llegado el momento de congelar lo que sería la versión 1.4 del código. Pese a no haber cambios importantes, si se han realizado modificaciones para situaciones no contempladas en el código, así como arreglos en características no probadas hasta ahora. En especial he reescrito la implementación de la salvaguarda del entorno en interrupciones así como dado soporte para compilación de flotantes. Éstos últimos, sin embargo, son impracticables, por la gran cantidad de código que demandan, pero están a la espera de ser optimizados.

Abró por lo tanto una ventana de tiempo antes de congelar la versión 1.4. Todas las sugerencias y reporte de fallos o mejoras simples son ahora más que nunca bienvenidas. No obstante recordar que estoy siempre abierto a las mismas.

Saludos

Pedro José Ramírez Gutiérrez.

Advertisement

Comentarios»

1. fpujaico - 19 septiembre, 2011

HOla Pedro
Que bueno que ya salga la version 1.4.
Mas me queda una curiosidad, de como queda el codigo para llamar a una interrupcion.
Puedes postearte un ejemplo?
Un abrazo

Fernando

2. pjmicrocontroladores - 19 septiembre, 2011

Bueno me gustaría más que lo probaras :)
E primer ejemplo que tengo por aquí usa frame y guarda dos registros, el código ahora queda:
global _interrupcion
_interrupcioncod CODE
_interrupcion:
BCF 0xB,7
PAGESEL 0×4
CALL 0×4

_interrupt CODE 0×04
movwf W_TEMP
swapf STATUS,W
movwf STATUS_TEMP
movf FSR,W
movwf FSR_TEMP
movf PCLATH,W
movwf PCLATH_TEMP
PAGESEL 0×4
BANKSEL F_REG
movlw D’2′
addwf Stack_pointer,F
BANKISEL stackdata
movf Stack_pointer,W
movwf FSR
movf F_REG+.16,W
movwf INDF
decf FSR,F
movf F_REG+.17,W
movwf INDF
;end prologue. Frame size = 0

La parte de recuperación más o menos inversamente.

La diferencia ahora es que la pila primero se reserva (en interrupciones y funciones normales) y despues se guarda. Como estaba antes, cabía la posibilidad de que la interrupción machará los valores de la pila entre que se guardan los valores y se reserva el espacio.

Saludos
Pedro José


Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.