According to the DCPU specification, the only time a SET
instruction fails is if the a
value is a literal.
So would the following work?
SET [PC],0x1000
A more useful version would be setting an offset of PC
, so a rather strange infinite loop would be:
SET [PC+0x2],0x89C3 ; = SUB PC,0x2
Probably (= I think it should work but I didn't try).
This is called "self modifying" code and was quite common the 8bit era because of a) limited RAM and b) limited code size. Code like that is very powerful but error prone. If your code base grows, this can quickly become a maintenance nightmare.
Famous use cases:
JMP
)