Glass Z80 assembler 0.6

Glass Z80 assembler 0.6

by Grauw on 10-03-2022, 19:51
Topic: Development
Languages:

Glass is a cross-platform assembler for the Z80 processor. It’s been five years since the last release, but in the meanwhile a fair number of improvements have been building up. Since more and more people started to use development builds, it was about time for a new proper release!

What’s new in Glass 0.6:

  • The $ prefix can now be used for hexadecimal numbers.
  • Symbols can no longer start with the $ character (bc).
  • The org pseudo-op now supports values outside the 0-FFFFH range.
  • Labels are now associated with the next following mnemonic.
  • Arguments now look up in their instruction’s parent scope.
  • Comments can now be added to expressions spanning multiple lines.
  • Fixed bug where includes sometimes needed a subdirectory in their path.
  • Fixed bug where member lookups sometimes included the parent scopes.
  • Macro definition symbol offsets are now included in the symbol file.
  • Symbols with integer equ values are now included in the symbol file.
  • Fixed erroneous symbol redefinition error for nested directives.
  • Ternary ?: expression operands which don’t evaluate no longer throw errors.
  • Improved handling of labels in if directives.
  • The db, dw and dd pseudo-ops now flatten nested sequences.
  • It is now possible to index into a string with the [] operator.
  • The line and column numbers in errors are now 1-based as is conventional.
  • A listing of the assembled source code can now be generated.
  • The >>> unsigned shift right operator is now supported.
  • The ' character can now be written as '' in character literals.
  • The " character can now be written as "" in string literals.
  • Documented the end directive, supported since the initial release.
  • The source file encoding is changed from ISO-8859-1 to UTF-8.
  • Glass now shows version information when run without arguments.

Visit the forum thread for support.

Relevant link: Glass project page

Comments (4)

By Parn

Paladin (854)

Parn's picture

11-03-2022, 15:09

Wonderful news. I'm looking forward using the new version. Smile

By Wlcracks

Hero (572)

Wlcracks's picture

11-03-2022, 16:18

This is great! Thank you.

By thegeps

Paragon (1251)

thegeps's picture

13-09-2022, 20:20

Exception in thread "main" nl.grauw.glass.expressions.EvaluationException: Not an instruction.
[at shadow.asm:1976]
set 0,l
at nl.grauw.glass.expressions.Expression.getInstruction(Expression.java:65)
at nl.grauw.glass.Line.getInstruction(Line.java:76)
at nl.grauw.glass.Line.expand(Line.java:91)
at nl.grauw.glass.Source.expand(Source.java:74)
at nl.grauw.glass.Source.expand(Source.java:68)
at nl.grauw.glass.Source.assemble(Source.java:50)
at nl.grauw.glass.Assembler.writeObject(Assembler.java:72)
at nl.grauw.glass.Assembler.main(Assembler.java:59)

what happened here? I've assembled this rom hundreds of time today and suddenly happened this. I'm not able to assemble my code anymore (if I comment this set instruction Glass doesn't like other ones too, like the ones present in arkos tracker code)

By Grauw

Ascended (10820)

Grauw's picture

14-09-2022, 18:27