Autor Tema: npasm, ensamblador PIC con sintaxis Intel  (Leído 1811 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado fabianjsm

  • PIC18
  • ****
  • Mensajes: 255
    • fabianjsm is on twitter
npasm, ensamblador PIC con sintaxis Intel
« en: 02 de Septiembre de 2011, 01:18:29 »
Hola amigos del foro todopic!
Quiero compartir con ustedes mi proyecto: Un compilador para microcontroladores PIC con sintaxis semejante a la de los compiladores x86 de Intel. Probablemente ya existan algunos, pero porque no hacer nosotros mismos el nuestro? Imaginen todo lo que aprenderemos!
La idea es básicamente esta: En vez de utilizar distintas formas para una misma instrucción, MOV por ejemplo:
Código: ASM
  1. MOVLW 0
  2.     MOVF PORTB, 1
  3.     MOVWF PORTB

Podemos emplear la forma genérica

Código: ASM
  1. mov destino, origen

Mover un literal al registro de trabajo W, 26 por ejemplo, seria así:

Código: ASM
  1. mov w, 26

Para todos los que estén interesados en participar, el proyecto esta albergado en GoogleCode (npasm.googlecode.com). Pueden bajar el código del repositorio SVN (svn checkout http://npasm.googlecode.com/svn/trunk/ npasm-read-only), compilar, instalar, probar. Acá pueden navegar sobre el código: https://code.google.com/p/npasm/source/browse/#svn%2Ftrunk%2Fsrc.

El código fuente esta escrito en C++, el analizador léxico y el sintáctico fueron elaborados con ayuda de FLEX y BISON. Voy a subir algunos ejemplos preliminares que compilan sin problema, pero tengan en cuenta que antes de la versión 1.0 no existe compatibilidad hacia atrás.

No tengo una página exclusiva para esto, creo que este foro es el mejor lugar para discutir. Les mantengo al tanto de las actualizaciones a través del foro y de twitter (@fabianjsm).

Espero sus comentarios.
« Última modificación: 02 de Septiembre de 2011, 02:06:20 por fabianjsm »
@fabianjsm is on twitter

Desconectado fabianjsm

  • PIC18
  • ****
  • Mensajes: 255
    • fabianjsm is on twitter
Re: npasm
« Respuesta #1 en: 02 de Septiembre de 2011, 02:05:02 »
Les hago POST de la primer prueba del ensamblador.
Se compilan dos códigos semejantes, uno para NPASM y otro para GPASM (MPASM para Linux), luego se comparan los resultados con DIFF.
En el comprimido tienen los dos fuentes, los dos hex y el script utilizado para compilar.
Les adelanto el resultado: Coincidencia exacta!  :-/
@fabianjsm is on twitter