; This part of the code file shows each of the possible combinations of lines ; that are available in an assembly language program label1: opcode operand ; a comment # comment comment comment Note that a comment can start with either # or ; labelonly: ; comment label: opcodeonly opcode andoperand justopcode ; Here are the NPCI opcodes along with their value and a brief description ; Most of these operands work with the stack so terms like TOS (top of stack) ; and 2nd, 3rd etc are used to desribe the elements in the stack. Also in ; NPCI any elements in the stack used by the instruction are always removed ; and sometimes new stuff is added. This operation is called a replace ; Since the original stack elements are always removed, there is no need to ; further reference this fact the descriptions below. Note that OW is used as ; an abbreviation for OtherWise. Also with so many binary operators that RTTE ; is used to represent the action of Replacing the Top Two Elements of the ;stack. assign ; Assigns the value in the 2nd to the address in TOS add ; RTTE with sum equal ; RTTE with 1 if equal, 0 OW notequal ; RTTE with 1 if not equal, 0 OW sub ; Subtracts TOS from 2nd replacing with result and ; RTTE with bitwise and or ; RTTE with bitwise or xor ; RTTE with bitwise xor lor ; RTTE with logical or, 1 if either TTE true, 0 OW land ; RTTE with logical and, 1 if both TTE true, 0 OW return call shiftl ; RTTE with 2nd shifted TOS bits to the left shiftr ; RTTE with 2nd shifted TOS bits to the right greater ; RTTE with 1 if 2nd > TOS, 0 OW less ; RTTE with 1 if 2nd < TOS, 0 OW greateq ; RTTE with 1 if 2nd >= TOS, 0 OW lesseq ; RTTE with 1 if 2nd <= TOS, 0 OW bitval bitassign not ; Replace TOS with 1 if TOS is 0, 0 OW table ; Get a table entry from program memory address in TOS getval ; Replace TOS with value located at address in TOS addfp ; Adds the value of the frame pointer (FP) to TOS intmode ; Switches stack to 16 bit mode bytemode ; Switches stack to 8 bit mode link ; Pushes old FP on stack and points FP to TOS unlink ; Restores old FP by pulling FP from TOS movetos ; Add the value of TOS to the stack pointer moving TOS callasm ; Calls the assmebly routine whose index is at TOS push ; Pushes a value from 0-62 onto the stack pushbyte ; Pushed a value from 63-255 onto the stack cjump ; Conditional Jump. Jumps to operand address if TOS=0 jump ; Jump. Jumps to operand address