USE: java Z80compiler in.z80 out.obj COMMANDS: label: - creates a label that can be jumped to with the goto command goto label - jumps to label label var name - creates a variable named name, can be used anywhere in code set var value - sets variable var equal to value (can be either a number or another variable) end - ends the program (z80 opcode HALT) # anything - comment; any text after a # is ignored by the program until the end of the line out port value - outputs value (either number or variable name) to port port in port var - reads port port into variable var inc var - increases variable var dec var - decreases variable var add var value - adds value (number or other variable) to variable var sub var value - subtracts value (number or other variable) from variable var if var = / != value - if variable var equals (=) or doesn't equal (!=) value (number or variable), all code is run until endif is reached (see example) endif - ends an if statement NOTE: if statements may be nested, but an endif closes the most recent if statement call label - calls sub routine at label (see example) return - returns from current subroutine