>>73305382A possible alternative is to make a "relative jump", also present in some architectures, which goes back or forward X instructions from the current address. For example, "EQL 5" would mean: "if the two top bubbles are equal, jump forward five instructions".
It's basically an extension of the original behaviour.
Unlike textual labels, which can be added by changing how existing operations work, this requires duplicating the conditional opcodes as absolute jumps are still needed for legitimate reasons and the free opcodes are running out.
>>73305761I'm not saying textual labels are bad, in fact I'm saying it'd help to have them. I probably worded it poorly.
The idea was to simply have them as e.g. "<opcode> [my-label-name]"; I'm not sure how to properly handle AWASCII unless you mean flagging a label as invalid if it contains e.g. the letter K when the compiler parses the file.
>Any chance you could reword it or expand on what you mean?I mean stuff like "TLB [awa] JPT [awa]" instead of "LBL 0 JMP 0", or just "LBL [awa] JMP [awa]" without introducing new opcodes.
>assembly but with a weird memory modelIt already is, though. The language is unstructured and sequential and jumps around by explicitly changing the instruction pointer; if it were to have registers together with (or even instead of) the abyss it would be equivalent to the assembly language of the Game Boy.
>some insight into how you plan to do graphical operations?I was thinking of a "SYS" opcode that would take a number of bubbles and based on the values of these bubbles dispatch a system call (whatever that means for a certain platform) through the virtual machine. But it's a bit too early for this and it's just an idea that needs more thinking.