Run the project in turbo mode. Hold shift while clicking the flag. Instruction set: 8bit means an 8 bit number like 00000000 or 01011010 RAM refers to what ram you are modifying. RAMRAM means ram in ram, it will modify the ram address that is identified inside of the specified ram. NUM refers to an 8 bit number that you are using. NRAM means the number inside the specified ram. PNRAM means pointer to number in ram. It is equal to what is in the ram address that is inside the ram address that you are identifying. ROM and ROMRAM refer to a rom address and a rom address inside a ram address respectively. The first 32 ram addresses are used as video ram. Do not use them to store variables. The 33rd ram address, address 00100000, uses what keys are being pressed. WASD are the first 4 bits, Up, left, down, right are the last 4 bits. When the program reaches line 256, it stops. To compile code and enter it into the computer, separate each line with a slash. For example: DISPLAY SET RAM 11111111 NUM 01011010 JUMP ROM 00000000 Can be compiled into DISPLAY/SET RAM 11111111 NUM 01011010//JUMP ROM 00000000 RAM and ROM start at 00000000 SET (RAM/RAMRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) Sets the specified ram address to the specified number NOT (RAM/RAMRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) Sets the specified ram address to the inverted version of the specified number. For example, 00001111 inverted would be 11110000. ADD (RAM/RAMRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) Sets the specified ram address to the two specified numbers added together. SUB (RAM/RAMRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) Sets the specified ram address to the first number subtracted by the second number. AND (RAM/RAMRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) Sets the specified ram address to the AND bitwise operation of the two specified numbers. OR (RAM/RAMRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) Sets the specified ram address to the OR bitwise operation of the two specified numbers. XOR (RAM/RAMRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) Sets the specified ram address to the XOR bitwise operation of the two specified numbers. SHFTR (RAM/RAMRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) Sets the specified ram address to the first specified number bitshifted right by the second number. 10000000 shifted 00000011 would be 00010000. It does not loop around. SHFTL (RAM/RAMRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) Sets the specified ram address to the first specified number bitshifted left by the second number. 00000001 shifted 00000011 would be 00001000. It does not loop around. JUMP (ROM/ROMRAM) (8bit) Jumps to the specified rom address. JUMP= (ROM/ROMRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) Jumps to the specified rom address if the two specified numbers equal each other. JUMP> (ROM/ROMRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) Jumps to the specified rom address if the first specified number is greater than the second. JUMP< (ROM/ROMRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) Jumps to the specified rom address if the first specified number is less than the second. JUMP!= (ROM/ROMRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) (NUM/NRAM/PNRAM) (8bit) Jumps to the specified rom address if the numbers do not equal each other. CALL (ROM/ROMRAM) (8bit) Jumps to the specified rom address, and saves the current address so it can be returned to later. RETURN Returns to where the last rom address was called from. DISPLAY Displays the video ram to the screen. CLS Sets all of the video ram to 0. (Will clear the first 32 ram addresses.)
An 8 bit computer emulator that uses a custom assembly instruction set Example programs (Will be added to): A binary counter that is displayed to the screen: CALL ROM 00000110/CALL ROM 00001010//JUMP ROM 00000000///CLS/ADD RAM 00100001 NRAM 00100001 NUM 00000001/RETURN//SET RAM 00000000 NRAM 00100001/DISPLAY/RETURN Displays what keys are being pressed to the screen and if you press S & D, the program stops: CLS/SET RAM 00000000 NRAM 00100000/SET RAM 00000001 NRAM 00100000/SHIFTR RAM 00000000 NRAM 00000000 NUM 00000011/SHIFTL RAM 00000001 NRAM 00000001 NUM 00000101/DISPLAY/JUMP!= ROM 00000000 NRAM 00100000 NUM 00110000