asdf
Jump to navigation
Jump to search
asdf is an esoteric programming language created by user:David.werecat which uses only 4 instructions: a
, s
, d
and f
.
Instructions
The pointer begins at memory location 3. It can be moved left or right infinitely. IO is memory mapped. To read from the console, toggle the bit at location 0 twice without moving or hitting a loop; this will read one bit from the console into location 2. To write to the console, toggle the bit at location 1 twice without moving or hitting a loop; this will write one bit from location 2 to the console. Since all console IO is bytewise, all reads and writes to the console are buffered (8 bits).
Instruction | Description |
---|---|
a |
Toggles the bit at the current location and sets the toggle flag. |
s |
If the toggle flag is clear, move the pointer right. If the toggle flag is set, move the pointer left. Either way, clear the toggle flag. |
d |
If the bit at the current location is 1, jump forward to the matching f . Also, clear the toggle flag.
|
f |
If the bit at the current location is 0, jump backward to the matching d . Also, clear the toggle flag.
|
Examples
Hello, world!
asaasaasssasaasssasaaaasssasaasssasaaaaaaaasssasaaaasssasaaaasssasaasssasaasssasaasssasaasssasaaaasssasaasssasaaaasssasaaaaaasssas aaaasssasaasssasaaaasssasaaaaaasssasaaaasssasaasssasaaaaaaaasssasaaaasssasaasssasaasssasaaaasssasaaaaaaaasssasaasssasaaaaaaaaaaaas ssasaaaaaasssasaasssasaaaaaasssasaasssasaaaasssasaasssasaaaaaaaasssasaasssasaaaaaasssasaaaasssasaasssasaaaasssasaaaasssasaasssasaa aasssasaaaaaasssasaaaasssasaaaasssasaasssasaaaaaaaasssasaasssasaaaaaaaasssasaa
Move the pointer right, regardless of toggle bit (note: may perform I/O at low addresses)
aasss
Move the pointer left, regardless of toggle bit (note: may perform I/O at low addresses)
aas
Toggle the bit at the current location and clear the toggle flag
ass
Cat
daasaasasaasssaasssasssf