On Saturday, 1 June 2013 at 05:29:28 UTC, Alex Rønne Petersen
wrote:
Hi,
I'm sure this has been brought up before, but I feel I need to
bring it up again (because I'm going to be writing a
threaded-code interpreter):
http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
This is an incredibly important extension. The final switch
statement is not a replacement because it doesn't allow the
programmer to store a label address directly into a code
stream, which is what's essential to write a threaded-code
interpreter.
The Erlang folks went through hell just to use this feature;
see the 5th Q at:
http://www.erlang.org/doc/installation_guide/INSTALL-WIN32.html#Frequently-Asked-Questions
It would also solve the problem with IASM and being unable to
address the labels in iasm
I noticed the problem when I tried to address the db'ed bytes.
http://dpaste.dzfl.pl/36bbd7d3
Commented out //mov dword ptr RAX, meh; ??? illustrates the
problem.
Jumping to labels in IASM blocks seems to work (
http://dpaste.dzfl.pl/d9e47f70 ).
I guess we could have two chickens backed on the same fire ;)