Assemply Code

Command Description
getX Copies the value from register X to the working register
getY Copies the value from register Y to the working register
get <address> Copies the value from RAM address <address> to the working register
get* <X/Y> Copies the value from RAM address corresponding to <X/Y> to the working register
cin Asks the input from user and copies it to working register
setX Copies the value from the working register to register X
setY Copies the value from the working register to register Y
set <address> Copies the value from the working register to RAM address <address>
set* <X/Y> Copies the value from the working register to RAM address corresponding to <X/Y>
cout prints the value of the working register
addX <X/Y/A> adds register X and <X/Y/A> and put the result on X
addY <X/Y/A> adds register Y and <X/Y/A> and put the result on Y
add <X/Y/A> adds register A and <X/Y/A> and put the result on A
subX <X/Y/A> subtracts register <X/Y/A> from X and put the result on X
subY <X/Y/A> subtracts register <X/Y/A> from Y and put the result on Y
sub <X/Y/A> subtracts register <X/Y/A> from A and put the result on A
mulX <X/Y/A> multiplies register X and <X/Y/A> and put the result on X
mulY <X/Y/A> multiplies register Y and <X/Y/A> and put the result on Y
mul <X/Y/A> multiplies register A and <X/Y/A> and put the result on A
divX <X/Y/A> dividies register X by <X/Y/A> and put the result on X
divY <X/Y/A> dividies register Y by <X/Y/A> and put the result on Y
div <X/Y/A> dividies register A by <X/Y/A> and put the result on A
goto <address> goes to RAM address <address>
test <address> goes to RAM address <address> if register A is zero, else continues
read <value> puts <value> on register A

Note:
# X,Y,A are the internal registers of the CPU and A is the default/working register.
# Commands that take an address or value as argument, viz. get, set, goto, test, read, require two word lengths of storage space, while others require a single word.