mov [reg_num] [dest_reg] - copies from [reg_num] to [dest_reg];
push [reg_num] [num] - copies [num] onto [reg_num]. If [reg_num]==NR, then modifies number of registers. If [num] is smaller then the current number of registers, the last ones will be deleted. Otherwise, registers will be appended to the end;
and [reg_num_1] [reg_num_2] [dest_reg] - performs logical AND on [reg_num_1] and [reg_num_2] and saves the value onto [dest_reg];
add [reg_num_1] [reg_num_2] [dest_reg] - adds [reg_num_1] and [reg_num_2] and saves the value onto [dest_reg];
sub [reg_num_1] [reg_num_2] [dest_reg] - subtracts [reg_num_2] from [reg_num_1] and saves the value onto [dest_reg];
mul [reg_num_1] [reg_num_2] [dest_reg] - multiplies [reg_num_1] and [reg_num_2] and saves the value onto [dest_reg];
div [reg_num_1] [reg_num_2] [dest_reg] - divides [reg_num_1] by [reg_num_2] and saves the value onto [dest_reg];
neg [reg_num] [dest_reg] - negates [reg_num] and saves it onto [dest_reg];
dec [reg_num] - decrements [reg_num] by 1;
inc [reg_num] - increments [reg_num] by 1;
or [reg_num_1] [reg_num_2] [dest_reg] - performs logical OR on [reg_num_1] and [reg_num_2] and saves the value onto [dest_reg];
xor [reg_num_1] [reg_num_2] [dest_reg] - performs logical XOR on [reg_num_1] and [reg_num_2] and saves the value onto [dest_reg];
shl [reg_num] [num] [dest_reg] - performs logical LEFT SHIFT on [reg_num] by [num] places and saves the value onto [dest_reg];
shr [reg_num] [num] [dest_reg] - performs logical RIGHT SHIFT on [reg_num] by [num] places and saves the value onto [dest_reg];
cmp [sign] [reg_num] [num]- compares [reg_num] to [num] using [sign]. If true, skips the following line. List of values for [sign]: 1-greater than; 2-equal to; 3-less than; 4-greater than or equal to; 5-less than or equal to; 6-not equal to;
cmpsb [sign] [reg_num_1] [reg_num_2] - compares [reg_num] to [reg_num_2] using [sign]. If true, skips the following line. List of values for [sign]: 1-greater than; 2-equal to; 3-less than; 4-greater than or equal to; 5-less than or equal to; 6-not equal to;
jmp [line_num] - jumps to [line_num] before or after this one, without triggering lines in between;
halt - stops the program. Required at the end of any program, or else, an error will appear.