sjasmplus v1.14.1

by sd_snatcher on 31-08-2019, 19:36 translated by PAC
Topic: Development
Languages:

Se ha publicado una nueva versión de este potente ensamblador Z80 cruzado que incluye muchas mejoras y correcciones de fallos. Esta es la lista de cambios de la versión v1.13.x:

  • Corrección de INCLUDE, ahora buscando rutas según la documentación original podría echar a perder proyectos.
  • UNDEFINE tiene una característica indocumentada para eliminar también etiquetas, cancelado.
  • R800 MULUB generaba un opcode incorrecto durante todos estos años... corregido.
  • ¡Los nombres MODULE ya no pueden contener puntos! MODULE y ENDMODULE restablecen las etiquetas no locales por "_".
  • Opción de sintaxis: "m" (desactiva advertencia de acceso de baja memoria) y añadida "M", "A" eliminada.
  • La expansión de macros se puede inhibir usando "@" delante de la instrucción.
  • El evaluador de expresiones no era estrictamente de 32 bit (64b binarios podrían haber producido diferentes resultados que 32b binarios).
  • Leer direcciones de memoria de 0 a 255 directamente emite un aviso, usad "; ok" para evitarlo.
  • Se han implementado varias pruebas para mejorar el rendimiento del código: coveralls.io/github/z00m128/sjasmplus.
  • A medida que se agregaban pruebas, se encontraron errores menores y se eliminaron (errores de redacción, etc).
  • Refactorizado SHELLEXEC para usar clib "system (..)" en todas las plataformas (también MS VS), correcciones menores.
  • Ejemplo de lua "inc_text" (resultado de una solicitud específica del usuario de sjasmplus).
  • Listado arreglado cuando se usó Lua para emitir bytes y también líneas analizadas de fuente en ensamblador.
  • MinGW Windows exe prefiere el delimitador del sistema de archivos "/" ("" aún debería funcionar en Windows (solo)).
  • Gran cantidad de pequeñas correcciones de errores y ajustes de infraestructura de Cirrus CI (la compilación MinGW de Windows ejecuta pruebas completas).
  • Las compilaciones MS VS estabilizadas y corregidas, ahora deberían funcionar principalmente a la par con las compilaciones MinGW (99.5%).
  • El uso del análisis de código lgtm.com ayudó a encontrar nuevos errores y pérdidas de memoria.
  • Framework UnitTest ++ agregado para pruebas unitarias regulares de C++, primeras pruebas agregadas.

Enlace relacionado: descarga

Comments (2)

By DarkSchneider

Paladin (854)

DarkSchneider's picture

03-09-2019, 08:54

Would be nice a modern assembler that would output REL files for L80 linker compatibility.

By erpirao

Paladin (913)

erpirao's picture

04-09-2019, 20:41

DarkSchneider wrote:

Would be nice a modern assembler that would output REL files for L80 linker compatibility.

Raul no entiendo que pongas un comentario en inglés en la parte de español, más aún cuando has puesto esto mismo en la versión correspondiente.
de todas formas, te pega la traducción "made in google" al comentario en la versión inglesa.

Quote:

Si va a abrir el problema en el github con especificaciones técnicas bien definidas de los archivos REL para L80, puedo echar un vistazo (o alguien más, eventualmente). Cuanto más el código objeto sea el código máquina Z80 "en bruto" y los metadatos sean "extra" a su alrededor, mayores serán las posibilidades de agregarlo fácilmente, pero si el código objeto ya está modificado en comparación con el MC Z80, básicamente requeriría muchos instrucciones para emitir dos códigos de operación diferentes, convirtiendo técnicamente dicha tarea en escribir otro ensamblador dentro del ensamblador ... Así que no se hicieron promesas, excepto que leí todos los números en github.

Por cierto, no creo que esta variante de sjasmplus sea particularmente moderna en términos de su código fuente, hasta ahora paso unos ~ 6 meses haciéndola bastante * estable * y operando de acuerdo con la documentación, en lugar de centrarme en un código bonito.

Pero intenté usar los principios modernos de control de calidad, porque como usuario del ensamblador, tengo suficiente para luchar con mi propio código roto, no necesito ninguna especia adicional de los errores del ensamblador que producen códigos de operación incorrectos ... Gran sonrisa... mientras Todavía estoy un poco disgustado por algunas partes de la fuente, los errores han desaparecido en su mayoría ... y algunas partes se están reemplazando lentamente paso a paso, aunque el nuevo código a menudo es un poco mejor, probablemente no sea un buen ejemplo de C ++ 14 todavía. Sonreír.. tal vez más tarde, con el tiempo ...