Source code for all releases can be found at code.benbridle.com/torque-asm.
Version 3.0.0
- Allowed label references to be used in pinned addresses and the predicates of conditional blocks
- Allowed macros to be invoked before they’re defined
- Allowed multiple macros to be defined with the same name but different argument counts
- Allowed list values to be used in expressions
- Changed the string data type into a more general list data type
- Changed the
"name"
string-style argument syntax to a[name]
list-style syntax - Added a list literal syntax for creating lists of integers
- Added specific error message for nested macro definitions
- Added a
<dbg>
expression operator for printing the expression stack - Added a
<fnd>
expression operator for finding the index of an element in a list - Added a
<nth>
expression operator for extracting the nth element of a list - Renamed
<tal>
expression operator to<sum>
- Fixed crashes caused by a divide-by-zero in an expression
- Increased maximum recursion depth to 1024, with a descriptive error message if the limit is exceeded
Version 2.5.0
- Added the
<abs>
expression operator - Fixed coloured output on Windows
Version 2.4.0
- Allowed label references in expressions for pinned addresses
- Added first-class string values to the language
- Added the
<tal>
expression operator - Added rust-toolchain.toml to simplify the build process
Version 2.3.0
- Added the ability for a macro to recursively invoke itself
- Added the
<len>
expression operator
Version 2.2.0
- Added octal literals (prefixed with
0o
)
Version 2.1.0
- Added support for the CMD format used by CP/M executable files
- Added negative integer literals
- Fixed incorrect width calculation for negative integers
Version 2.0.2
- Added reporting of all symbols involved in a cyclic dependency error
- Fixed issue with nonexistent cyclic dependency errors being reported
Version 2.0.1
- Changed
[extension]
positional argument to the--extension
named switch - Improved the text shown with
--help
- Fixed issue with incorrect source context being shown in symbol resolution errors
Version 2.0.0
- Added less-than-equal, greater-than-equal, multiply, divide, modulo, and exponent operators to expressions
- Added conditional blocks (declared with
?
) - Added character literals (enclosed with
'
) - Added binary literals (prefixed with
0b
) - Added the ability to pack negative values into word templates
- Added optional
_
separator characters to integer literals - Added
--help
switch that displays usage information - Added
--width
switch that enforced a fixed word width - Changed expressions to accept nested expressions and invocations with arguments
- Changed pinned addresses to accept invocations and expressions
- Changed behaviour of string arguments to repeat the whole invocation, not just the words inside the invocation
- Improved error reports
- Improved density of inhx and inhx32 output formats when pinned addresses are used
Version 1.2.0
- Renamed binary from
torque-asm
totq
Version 1.1.1
- Fixed issue with compiling under rust 1.87.0
Version 1.1.0
- Added string literals
- Added INHX output format
Version 1.0.0
- Initial version