Bueno,
el codigo compilado es r4dibujo, es un programa para dibujar graficos vectoriales multicolores, yo no me di cuenta, pero utiliza los archivos, ahora subo uno que utiliza solo graficos, mas simple, xe.txt es el fuente en R4
Como tuve que borrar cosas para llegar al limite maximo de archivos de este foro, se ve que borre de mas..
Lo del cod. 13, acordate que yo estoy trabajando en win.
Que raro que genere 1.3 MB de codigo, en win y dex genera 113kb, quizas cambiaste el orden de declaracion, fijate que tube cuidado en que estas declaraciones quedaran al final, para que reserve la memoria cuando carga el archivo y no antes.
El compilador esta escrito en R4, si queres te lo envio, mi plan es publicar una version cuando tenga algunas cosas mas y este un poco mas pulido el ambiente.
A ver si esto aclara el panorama... lo que podes bajarte de mi pagina es un interprete que toma el codigo R4, por ejemplo xe.txt y lo ejecuta, ahora tengo un compilado que toma el codigo xe.txt y genera dos archivos, cod.asm y dat.asm, estos dos archivos utilizan llamadas a una inteface, no al sistema operativo, por lo que es posible general el ASM y, dependiendo de la inteface, compilar para varios SO.
La inteface para win es R4win.asm, para Dex es R4dex.asm (los ret estan porque esta incompleta), quizas terminemos teniedo un R4octa.asm..

Vo a hacer referencia a r4win.asm porque esta mas completo, no importan las llamadas al win..
Los eventos funcionan asi:
UPDATE
actualiza los eventos...teclado y mouse por ahora y luego salta a un evento si ocurre, estos eventos son definidos en el programa.
teclado:
si hay un scancode en la entrada, tanto apretar como soltar la tecla (scancodes or $80)
en SYSKEY guardo el scancode and $7f (no guarda si es soltando o apretando)
y en SYSEVENT cargo la direccion que se encuentra en SYSKEYM+scancode*4
(lineas 384-401)
mouse:
identifica 3 eventos,
apretar cualquier boton,
mover el raton (con cualquier boton apretado) y
soltar cualquier boton
fijate que tuve que hacer algunas comprobaciones ya que los eventos de win no son exactamente estos.
(lineas 359-383)
en cada uno de los tres eventos guardo la posicion del mouse
SYSXYM (parte alta Y parte baja X)
SYSBM boton/s apretados
y cargo SYSEVENT con lo que tiene SYSMM,SYSME,SYSMS (Move,End y Start)
cuando termina de comprobar esto se fija si SYSEVENT tiene 0, si es asi termina, sino
salto a esta direccion
(lineas 142-149)
Espero haber sido claro.. No dudes en escribirme
me muero de ganas de utilizar R4 con OctaOs !!!
Saludos..
Pablo