<feed xmlns='http://www.w3.org/2005/Atom'>
<title>torque-asm/src, branch v2.3.0</title>
<subtitle>Lightweight meta-assembler</subtitle>
<id>https://code.benbridle.com/torque-asm/atom?h=v2.3.0</id>
<link rel='self' href='https://code.benbridle.com/torque-asm/atom?h=v2.3.0'/>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/torque-asm/'/>
<updated>2025-04-18T08:47:59Z</updated>
<entry>
<title>Allow a macro to invoke itself safely</title>
<updated>2025-04-18T08:47:59Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-04-18T08:47:47Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/torque-asm/commit/?id=75018f1ec69162a0695e603030f5e1a5cc105af0'/>
<id>urn:sha1:75018f1ec69162a0695e603030f5e1a5cc105af0</id>
<content type='text'>
A macro can now invoke itself if the invocation is inside a conditional
block that will eventually return false. The assembler stack can still
overflow if the macro recurses too deeply, or if a macro calls itself
without a conditional block.
</content>
</entry>
<entry>
<title>Allow a macro to invoke itself</title>
<updated>2025-04-18T08:45:19Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-04-18T08:43:37Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/torque-asm/commit/?id=e0595e64cc1fa3c9b01a73ed9c67487e40dc54f9'/>
<id>urn:sha1:e0595e64cc1fa3c9b01a73ed9c67487e40dc54f9</id>
<content type='text'>
This will currently cause the assembler to hang in all situations where
it is used.
</content>
</entry>
<entry>
<title>Implement &lt;len&gt; operator for expressions</title>
<updated>2025-04-18T08:34:39Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-04-18T08:34:39Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/torque-asm/commit/?id=373c512397dde9c767ac65453780931a84704ce4'/>
<id>urn:sha1:373c512397dde9c767ac65453780931a84704ce4</id>
<content type='text'>
The &lt;len&gt; operator returns the width of an integer in bits, using the
same calculation as for packing an integer into a bit field.
</content>
</entry>
<entry>
<title>Implement octal literals</title>
<updated>2025-04-17T04:37:45Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2025-04-17T04:37:45Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/torque-asm/commit/?id=6eb86dc668ccd3e3b263f5942ab4eef63f49a7db'/>
<id>urn:sha1:6eb86dc668ccd3e3b263f5942ab4eef63f49a7db</id>
<content type='text'>
Octal literals use the prefix '0o'.
</content>
</entry>
<entry>
<title>Remove brackets from format names in program help text</title>
<updated>2025-04-11T22:29:03Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-04-11T22:28:45Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/torque-asm/commit/?id=ad07458a267ee23dd386b1809842f696356ff187'/>
<id>urn:sha1:ad07458a267ee23dd386b1809842f696356ff187</id>
<content type='text'>
These could be misleading, they could incorrectly indicate that the
brackets are part of the format name.
</content>
</entry>
<entry>
<title>Add the cmd format to the list in program help text</title>
<updated>2025-04-11T22:29:03Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-04-11T22:27:10Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/torque-asm/commit/?id=32b0861a8045a695aca155e946332ce8b958a6a7'/>
<id>urn:sha1:32b0861a8045a695aca155e946332ce8b958a6a7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix width checks for negative integers</title>
<updated>2025-04-11T22:19:26Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-04-11T22:19:26Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/torque-asm/commit/?id=dddb76c4ad504022fa4f4c4f6965c08da22c387e'/>
<id>urn:sha1:dddb76c4ad504022fa4f4c4f6965c08da22c387e</id>
<content type='text'>
The width of a negative integer was previously being counted in the
same way as for a positive integer, by inverting the bits to make it a
positive integer and then finding the placement of the highest-order 1
bit.

The actual width of a negative integer will always be one greater than
this value however, because the highest-order 1 bit of an inverted
negative integer will always have directly above it a significant 0 bit
used as the sign bit.
</content>
</entry>
<entry>
<title>Implement negative integer literals</title>
<updated>2025-04-11T22:08:09Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-04-11T22:08:09Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/torque-asm/commit/?id=c724c9157dbc4721fa8ed93033cd9699c9652277'/>
<id>urn:sha1:c724c9157dbc4721fa8ed93033cd9699c9652277</id>
<content type='text'>
Negative literals take the forms -29, -0x1D, and -0b11101 for decimal,
hexadecimal, and binary.
</content>
</entry>
<entry>
<title>Add support for the CP/M CMD file module format</title>
<updated>2025-04-11T04:18:31Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-04-11T04:18:31Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/torque-asm/commit/?id=6d016989b0ff5f600f3bdaced1ebf443d2f32da7'/>
<id>urn:sha1:6d016989b0ff5f600f3bdaced1ebf443d2f32da7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve help text</title>
<updated>2025-03-31T00:16:19Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-03-31T00:16:19Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/torque-asm/commit/?id=79a9aaa45a2844de28c6f6bfea0127381e24a9e9'/>
<id>urn:sha1:79a9aaa45a2844de28c6f6bfea0127381e24a9e9</id>
<content type='text'>
</content>
</entry>
</feed>
