Welcome to Catssembler game!
Your goal is to write a program for the cat so it can eat all the fish and reach the exit.
The program starts at address 0x00
.
You have 6 registers:
-
MX
& MY
control the movement of the cat
-
DA
- DD
can be used to store any state
All registers are zeroed at the beginning.
There are several instructions to be used:
-
INC
increments the value in a given register
-
MOV
sets a given value in a given register
-
ADD
, SUB
, MUL
& DIV
adds, subtracts, multiples or divides a given register by a given value
-
JE
& JNE
jumps when a given register equals or not equals a given value
-
JA
& JNA
jumps when a given register is above or not above given value
-
JB
& JNB
jumps when a given register is above or not below given value
The most important instruction is INT
It interrupts the program and moves the cat MX
fields horizontally, then MY
fields vertically.
Use two's complement to move the cat to the left or up. 0xFF = -1
, 0xFE = -2
, and so on...
The cat must not hit the wall - this time it doesn't have nine lives.
When the cat stops moving, the program will restart from the beginning. The values in the registers are preserved.
Scan the code
Scan the code at the kiosk to try the program.
The program is saved on the server. You can always return to it - just save this page URL.