PseudoAssembler had been developed for training purposes. This very simple programming language allows beginners to painlessly acquire fundamental ideas of algorithmic programming.
| Group | Command | Explanation |
|---|---|---|
| Arithmetic operators | a = b | assign value of variable b to variable a |
| a = b + c | assign sum of variables b and c to variable a | |
| a = b - c | assign difference of variables b and c to variable a | |
| a = b * c | assign product of variables b and c to variable a | |
| a = b / c | assign b divided by c to a | |
| a = b ^ c | assign b in power c to a | |
| Check conditions or
Conditional jumps or Logic operators |
a > b, lab | go to label lab if a is greater then b |
| a < b, lab | go to label lab if a is less then b | |
| a >= b, lab | go to label lab if a is greater or equal to b | |
| a <= b, lab | go to label lab if a is less or equal to b | |
| a == b, lab | go to label lab if a is equal to b | |
| a != b, lab | go to label lab if a is not equal b | |
| Unconditional move of point of execution or jump operator | jmp lab | go to label lab |
| Memory addressing operators | a = addrof b | assign address of variable b to a |
| operation a,i | operation with data from memory location with address from variable a (indirectly) | |
| Input / Output operators | inchar a | get a character from input device and put it into a |
| innum a | get a number from input device and put it into a | |
| outchar a | put the character from a to output device | |
| outnum a | put the number from variable a to output device | |
| end | stop program execution | |
| Memory reservation operator | def count a | reserve count bytes (8 bits each) for variable a |
| Non operational lexicon | Lab: | Declares label Lab as label in code, that can be used for jumps |
| /*...*/ | Comments: everything in between is ignored by processor |
Note: place holders, which could be substituted, are shown in italic.