Búsqueda
Nombre de usuario:
Contraseña:
Registro
Se me olvidó la contraseña
Русский English Español
  • Página principal
  • Gráficos
  • Música
  • Autores
  • Competiciones
  • Comentarios
  • Stats
  • FAQ
  • Grupos
  • Software
    • Demoscene
    • Juegos
    • Software de Sistema
      • Emulator
      • Programación
        • Ensamblador/Código de máquina
        • Básico
        • General
        • Depuradores
        • Pruebas
        • Lenguajes de programación
      • Copia/Respaldo
      • Fuentes/UDG
      • Gráficos
      • Manejo de E/S
      • Administración de medios
      • Sonido
      • Impresión
      • indeterminado
      • Telecom/Red
      • Boot
      • Espectadores generales
      • Código fuente
      • Sistemas operativos
      • Utilidades del Sistema
      • Compresión y Archivado de Datos
    • Varios
    • Educativo
    • Compilación
    • Prensa
    • Aplicaciones
    • Serie
    • Tags
Logo
Página principal
Software
Gráficos
Música
Autores
Competiciones
Grupos
Comentarios
Países
Acerca de archivo
Русский English Español
Gigascreen modo: Mix
Frontera: ON
Oculto píxeles modo de: OFF
Se me olvidó la contraseña
Registro
Búsqueda
Página principal Software Software de Sistema Programación Ensamblador/Código de máquina NextBASIC Inline Assembler

Ensamblador en Línea para NextBASIC en ZX Spectrum Next

Título del software: NextBASIC Inline Assembler
Sitio web del proyecto: Compra
Categorías:
Software de Sistema / Programación / Ensamblador/Código de máquina
Idiomas admitidos: Inglés
Estatus legal: En venta
Autores: taylorza (Codificación, Lanzamiento)
Año de publicación: 2024
Clasificación:
4.00
Añadido por: Xela, 19.02.2024 12:21
Asm

NextBASIC Inline Assembler es una herramienta diseñada para el ZX Spectrum Next, que permite a los desarrolladores incorporar código ensamblador en línea dentro de sus aplicaciones NextBASIC. Usando el comando .asm, los usuarios pueden escribir y ejecutar rutinas de código máquina directamente desde el entorno BASIC.

El ensamblador se inicia colocando el archivo ASM en la carpeta 'dot' en la tarjeta SD del ZX Spectrum Next. Esta configuración permite a los usuarios escribir instrucciones de ensamblador después del símbolo de punto y coma ;, que luego se ensamblan en la memoria para su ejecución.

La herramienta admite una variedad de instrucciones de ensamblador y operaciones pseudo, como la definición de cadenas, ensamblado condicional y manejo de reubicaciones. También incluye características para la generación de informes de errores y optimización de código, lo que la convierte en una solución robusta para la programación en lenguaje ensamblador en el ZX Spectrum Next.

Las actualizaciones de versión han introducido nuevas funcionalidades como la compilación desde la línea de comandos, mensajes de error mejorados y soporte para varias instrucciones de ensamblador. Estas mejoras atienden tanto a desarrolladores novatos como experimentados que buscan aprovechar al máximo el hardware del ZX Spectrum Next.

Lanzamientos

Título Año Idiomas admitidos Tipo de versión Lanzamiento por Hardware Descargado Empezado
NextBASIC Inline Assembler 2024 Inglés v0.5c Original taylorza
🖥️ ZX Spectrum Next
Compra
NextBASIC Inline Assembler 2024 Inglés v0.5e Original taylorza
🖥️ ZX Spectrum Next
Compra
NextBASIC Inline Assembler 2024 Inglés v0.5f Original taylorza
🖥️ ZX Spectrum Next
Compra
NextBASIC Inline Assembler 2024 Inglés v0.5g Original taylorza
🖥️ ZX Spectrum Next
Compra
NextBASIC Inline Assembler 2024 Inglés v0.6 Original taylorza
🖥️ ZX Spectrum Next
Compra
NextBASIC Inline Assembler 2024 Inglés v0.7 Original taylorza
🖥️ ZX Spectrum Next
Compra
NextBASIC Inline Assembler 2025 Inglés v0.8b Original taylorza
🖥️ ZX Spectrum Next
Compra
ASM is a .dot command that enables you to write inline assembly code in your NextBASIC application. When you invoke ASM, it scans the code for assembly instructions after the ';' symbol and assembles them into memory. You can then execute the assembled code as any machine code routine that you loaded or poked into memory.

To set up the assembler, you need to copy the 'ASM' file into the "dot" folder in the root of your ZX Spectrum Next SD card. That's all you need to do to get started.

To test the assembler, enter the following program in the NextBASIC editor. NOTE: You must have at least one space after the ';' symbol in lines 30-50. This is explained in more detail later.

10 CLEAR $bff0 : REM Reserve memory for our machine code
20 .asm
30 ;  org $c000
40 ;  ld bc, 42
50 ;  ret
60 PRINT "BC="; USR ($c000)
Run the program and you should see BC=42 printed on the screen. You can change the value in line 40 to something else and run the program again to see the output change.


==================

Version History
---------------

v0.8b - 2025/02/11
- Added support for compiling a source file from the command line
- Fixed parsing of bank when an offset and clear is passed
- Improved file handling error messages
- Implemented buffered reading for assembling from files (directly and includes)

v0.8a - 2024/09/30
- Errors now report the sub-statement that has the error rather than just the line
- New pseudo ops
-  DISPLAY: displays messages during assembly. Supports formatting 
    /D - decimal, /H - hexadecimal, /B - binary, /C - ASCII Character
-  DC: define string with high bit set for last character
-  DZ: define string with an auto appended null terminator

v0.8  - 2024/9/08
- Added support for instructions using IXL, IXH, IYL and IYH 

v0.7c - 2024/9/07
- ORG defaults to be sync'd with the BANK offset (Matt Neale)

v0.7b - 2024/8/11
- Added checks for wrap around of PC at the 64K boundary or at the 16K boundary when assembling to a BANK
- Added 'VAR' pseudo op that allows the value to vary between phases
- Updated BRK to emit the new CSpect breakpoint "$fd, $00" 

v0.7a - 2024/6/19
- Added support for INCLUDE
- Moved error messages to banked memory to free up more memory for the assembler

v0.7 - 2024/6/14
- Expressions now honour operator precedence including parenthesis
- New operators <=, >=, ! (logical not), &&, ||

v0.6 - 2024/5/31
- improved parsing of DB/DW pseudo ops
- support for generating NEX files
- BANK accepts an additional argument to indicate if the bank should be cleared before assembling into it
- Added left shift '<<' and right shift '>>' operators

v0.5g - 2024/05/10
- Added support for anonymous labels 
- Added support for multiple instructions per line using ':' separator

v0.5f - 2024/04/21
- Added support for label offsets to make self modifying code easier
- Code optimization
- Moved expression evaluator out of the DOT Command address space

v0.5e - 2024/03/24
- FIXED: Assembler does not error on loading registers other than 'A' with the content of a register pair (Simon N. Goodwin)
- Labels maxlength increased from 11 to 15
- Support scoped labels using '.' prefix to define a scoped label. Total length of scope and local name including the '.' must not exceed 15

v0.5d - 2024/02/25
- Fixed a bug with the support for integer variables (https://gitlab.com/thesmog358/tbblue/-/issues/112)

v0.5c - 2024/02/11
- Added not-equal '<>' operator (Simon N. Goodwin)
- FIXED: Labels not excluded from conditional assembly (Simon N. Goodwin)
- FIXED: ALIGN error if the adjustment is only 1 byte
- Report error when a symbol value changes between passes (Simon N. Goodwin)
- Improved error reporting

v0.5b - Not released
- FIXED: Pseudo-ops not excluded from conditional assembly (Simon N. Goodwin)

v0.5a - 2024/01/28
- Fixed error reporting with nested IF

v0.5 - 2024/01/28
- New pseudo-ops to support generating relocations for drivers
-- RELOC_START/RELOC_END mark the start and end of a relocatable code section
-- RELOC_TABLE emits the relocation table
-- RELOC_COUNT returns the number of relocations that have been generated
- Conditional assembly
-- IF/ELSE/ENDIF nested up to seven levels deep
- Plenty of little bug fixes

v0.4d - 2024/01/21
- New pseudo-ops
-- NBRK trigger hardware breakpoint, short for nextreg 2,8
-- ALIGN align code/data to the specified byte boundary
- New bitwise operators
-- & bitwise AND
-- | bitwise OR
- Optimizations 
-- 16 bit multiplier using hardware optimizations from Ped7g

v0.4c - 2024/01/14 
- Fixed issue with LD (lbl), r/rp that was introduced with v0.4

v0.4b - 2024/01/14
- Fixed issue with z80n instructions not expecting a comment on the line

v0.4 - 2024/01/14
NOTE: This release contains a breaking change regarding hex and binary numbers
- Dropped the suffix notation for hex and binary numbers
-- $ prefix for hex
-- % or @ prefix for binary
- Added support for getting and setting BASIC integer variable during assembly
--   LD b, %a        ; Get the value of the BASIC integer variable at time of assembly
--   LET %a = sym    ; Assign the value of 'sym' to the BASIC integer variable %a
- Moved symbols to dedicated banks so now you can have many more symbols in your code
- Refactored parser to reduce size and improve error handling
- Fixed many bugs :)

v0.3b - 2024/01/06
- Relaxed the requirement to have a space after an OP-code when the next character is clearly not part of the name
- Improved DS, now fills memory/file with 0s
- https://github.com/taylorza/zxn-inlineasm-doc/issues/3
-- Fixed parsing of IN A, (C) 
-- Fixed expression error message for operators other than +/- prefixing the expression

v0.3a - 2023/12/31
- Fixed expressions for LD r, nn class ops

v0.3 - 2023/12/31
- Code size optimizations
- Added support for 'OUTPUT' directive/psuedo-op which allows the assembled code to be directed to
  a file rather than directly to memory

v0.2 - 2023/12/27
- Fixed parsing issue that allowed spaces between the characters of HL, IX, IY 
  registers
- Support specifying the target bank for the generated code
  BANK n[,o] where 'n' is the target bank number and 'o' an optional offset into
  the bank. When a bank is specified the ORG address is used for address 
  calculations. Typicall this should remain at the default of $c000
- Support assembling code that has been banked using 'BANK... LINE...'

v0.1 - 12/25/2023 Christmas Edition
- Initial public release

Añadir nuevo comentario

Por favor, realice un rápido registro antes de dejar un comentario

Votos de la historia

Nick Votos Fecha
emook 5 27.02.2024 23:02
creator 5 19.02.2024 14:42
Su personal ZX Spectrum radio
¿Cómo eliminar anuncios?
Últimos comentarios
moroz1999: Спасибо, SEO-поля сгенерены были до того, как было правильное железо выставлено. Теперь должно быть ок.
AlexeyL: Демо супер, только стоит убрать "ZX Spectrum" из названия.
Yuran: Иногда слушает ТАКИХ композиторов на спекке с сотнями треков выполненных на каком то космическом уровне, где большинство всего с 1-2 прослушиваниями и древней наскальной живописью типа "creator was here"!
Хочется спросить: - "Кто ты воин? Что привело тебя на этот путь? И есть ли что то сделанное вне движка на zx?"
Ха-ха =) Эх...
Pupets: Ооочень классная! Аж всю прошёл. Спасибо разработчикам!!!
Только щас узнал, что такие игры называются Сокобан)) Хотя слово это я слыхал
dvsn: а ловко это придумали мне нравится
dimonhok: Really cool little game, as usual from kas29. Please post an English version!
moroz1999: Обновленная версия просто отличная. При том, что механика осталась в целом той же, очень сильно дополнены фоны, и однотипные комнаты вдруг обрели разные логичные функции внутри комплекса. Офисы, клетки для пум, заметки о происходящем, строительные агрегаты, всё прямо заиграло свежими красками.
moroz1999: Я не понимаю, как такое нарисовать, честно. Нужно пробовать повторить по кусочкам для самообучения.
Kurashi Nikkeru: Элементарно, смотри *надевает наушники*
pyramex_of_hate: ❤️
Ver todos los comentariosVer todos los comentarios
Última votos
moroz1999 5 Jin'n'tonic
AlexeyL 5 On way to sea
nyuk 4 soso
nyuk 5 Cocovana Dusk
nyuk 5 Старт
nyuk 5 On way to sea
moroz1999 4 Telethugs
moroz1999 5 Telethugs
r0bat 5 Telethugs
creator 5 Telethugs ZX
creator 5 Telethugs
creator 5 Telethugs
gr8b/crs 5 Lost'dreams!
AlexeyL 5 don't blink
Grongy 5 Telethugs
Grongy 5 Telethugs
toSeva 5 On way to sea
Yuran 4 L0veMix
Yuran 5 Orange'bugy
Yuran 5 Bloody'n'crazy