|
Assembler: a low-level programming language for a computer, in which there is a very strong correspondence between the language and the architecture's machine code instructions.
Virtual machine: an emulation of a particular or hypothetical computer system.
SpecMan4EPR Assembler is executed on the Virtual Machine that has two registers: ax register, internal time counter register treg, and the stack. The Assembler supports memory addressing, conditional statements, cycles and jumps. To reduce the length of program, many assembler commands perform composite actions.
|
Command |
Action |
Comment |
0 |
NOP |
nop |
Empty operation |
1 |
ADD |
add ax, stack; pop stack |
Addition |
2 |
SUB |
sub ax, stack; pop stack |
Subtraction |
3 |
MUL |
mul ax, stack; pop stack |
Multiplication |
4 |
DIV |
div ax, stack; pop stack |
Division |
5 |
IDIV |
idiv ax, stack; pop stack |
Division with rounding |
6 |
NEG |
inv ax |
ax = -ax |
7 |
AND |
and ax, stack; pop stack |
Logical AND |
8 |
OR |
or ax, stack; pop stack |
Logical OR |
9 |
LT |
lt ax, stack; pop stack |
ax = stack < ax ? 1 : 0 |
10 |
LE |
le ax, stack; pop stack |
ax = stack <= ax ? 1 : 0 |
11 |
EQ |
eq ax, stack; pop stack |
ax = stack == ax ? 1 : 0 |
12 |
NE |
ne ax, stack; pop stack |
ax = stack != ax ? 1 : 0 |
13 |
GE |
ge ax, stack; pop stack |
ax = stack >= ax ? 1 : 0 |
14 |
GT |
gt ax, stack; pop stack |
ax = stack > ax ? 1 : 0 |
15 |
NOT |
not ax |
Logical NOT |
16 |
MOVE_A_ADDR |
mov ax, *ax |
Move to ax from memory |
17 |
MOVE_ADDR_A |
mov *ax, ax |
Move ax to memory |
18 |
MOVEAX_AX |
mov ax, [*ax+stack]; pop stack |
Move to ax from memory using offset from stack |
19 |
PUSH |
push ax |
Push to stack |
20 |
POP |
pop ax |
Pop from stack |
21 |
JZ |
jz |
Conditional jump |
22 |
JNZ |
jnz |
Conditional jump |
23 |
JP |
jp |
Unconditional jump |
24 |
PARAL_BEGIN |
push treg |
Push current time to stack |
25 |
PARAL_END |
pop treg |
Pop current time from stack |
26 |
PULSE |
treg = treg + pulselength |
Pulse command |
27 |
RepStart |
|
Flow |
28 |
RepEnd |
|
Flow |
29 |
TIMEZERO |
|
AWG engine and detection phase related |
30 |
REFERENCE |
|
Detection phase related |
31 |
Round |
|
Function |
See also:
Virtual Machine
|