Value Syntax Name 0 4 small literal 1 1234 large literal 2 r4 register 3 [r4] memory cell Value Syntax Name 0 12345 absolute 1 +5678 relative 2 r4 register 3 illegal Opcode Hex Name Description 0 00 halt halt machine 1 01 nop no operation 2 02 bra branch always 3 03 bgt branch if greater than 4 04 bge branch if greater than or equal 5 05 blt branch if less than 6 06 ble branch if less than or equal 7 07 beq branch if equal 8 08 bne branch if not equal 9 09 beof branch if not equal 10 0A call subroutine call 11 0B ret subroutine return Opcode Hex Name Description 32 20 inew initialise integer 33 21 iabs absolute value 34 22 ipush push onto stack 35 23 ipop pop from stack 36 24 icmp compare 37 25 iread read value from input 38 26 iprint print value on output 39 27 iadd addition 40 28 isub subtraction 41 29 imul multiplication 42 2A idiv division 43 2B imod modulus 44 2C iand bitwise-and 45 2D ior bitwise-or 46 2E ixor bitwise-xor 47 2F ilshift left shift 48 30 irshift right shift 49 31 icopy copy integer 50 32 itod convert to double 51 33 itos convert to string Opcode Hex Name Description 64 40 dnew initialise memory cell 65 41 dabs absolute value 66 42 dpush push onto stack 67 43 dpop pop from stack 68 44 dcmp compare 69 45 dread read value from input 70 46 dprint print value on output 71 47 dadd addition 72 48 dsub subtraction 73 49 dmul multiplication 74 4A ddiv division 81 51 dtoi convert to integer 82 52 dcopy copy double cell 83 53 dtos convert to string Opcode Hex Name Description 96 60 snew initialise memory cell 97 61 slen string length 98 62 spush push onto stack 99 63 spop pop from stack 100 64 scmp compare 101 65 sread read line from input 102 66 sprint print string on output 103 67 sadd concatenation 104 68 ssub subtraction 105 69 smul multiplication 107 6B slshift left shift 108 6C srshift right shift 113 71 stoi convert to integer 114 72 stod convert to double 115 73 scopy copy string 116 74 sindex string index 117 75 sinsert string insert 118 76 sslice slice (substring) 119 77 sfind find within string 120 78 sord ordinal value 121 79 schr convert char to string Opcode Hex Name Description 128 80 anew create empty array 129 81 alen array length 130 82 apush push onto stack 131 83 apop pop from stack 132 84 acmp compare arrays 135 87 aadd concatenation 137 89 amul multiplication 147 93 acopy copy array 148 94 aindex array index 149 95 ainsert array insert 150 96 aslice array slice 151 97 afind find within array 154 9A asort sort an array