: , .
, (6 ). MOV, .
3 :
1) [0:1] ;
2) 2 ADR;
3) [3:5] ().
: , , , . , . 2.1.
2.1.
0 | 1 | 2 | 3 | 4 | |
0 | NOP | JMP | MOV | ||
1 | IN | JZ | RD | RD | RDI |
2 | OUT | JNZ | WR | WR | |
3 | IRET | JS | ADD | ADD | ADI |
4 | WRRB | JNS | SUB | SUB | SBI |
5 | WRSP | JO | MUL | MUL | MULI |
6 | PUSH | JNO | DIV | DIV | DIVI |
7 | POP | JRNZ | IN | ||
8 | RET | INT | EI | OUT | |
9 | HLT | CALL | DI |
2.2.
,
. | |||
( ) | 0 | ADD 23 (ADD R4) | |
# | 1 | ADD #23 | |
@ | 2 | ADD @23 | |
[ ] | 3 | ADD [23] | |
@R | 4 | ADD @R4 | |
@R+ | 5 | ADD @R4+ | |
@R | 6 | ADD @R4 |
2.3.
00 | NOP | ||
01 | IN | Acc ← IR | |
02 | OUT | OR ← Acc | |
03 | IRET | FLAGS.PC ← M(SP); INC(SP) | |
04 | WRRB | RB | RB ← CR[ADR] |
05 | WRSP | SP | SP ← CR[ADR] |
06 | PUSH | DEC(SP); M(SP) ← R | |
. 2.3. | |||
07 | POP | INC(SP); M(SP) ← R | |
08 | RET | INC(SP); M(SP) ← PC | |
09 | HLT | ||
10 | JMP | PC ← CR[ADR] | |
11 | JZ | , 0 | if Acc = 0 then PC ← CR[ADR] |
12 | JNZ | , 0 | if Acc ≠ 0 then PC ← CR[ADR] |
13 | JS | , | if Acc < 0 then PC ← CR[ADR] |
14 | JNS | , | if Acc ≥ 0 then PC ← CR[ADR] |
15 | JO | , | if |Acc| > 99999 then PC ← CR[ADR] |
16 | JNO | , | if |Acc| ≤ 99999 then PC ← CR[ADR] |
17 | JRNZ | DEC(R); if R > 0 then PC ← CR[ADR] | |
18 | INT | DEC(SP); M(SP) ← FLAGS.PC; PC ← M(V) | |
19 | CALL | DEC(SP); M(SP) ← PC; PC ← CR(ADR) | |
20 | |||
21 | RD | Acc ← DD | |
22 | WR | M(*)← Acc | |
23 | ADD | Acc ← Acc + DD | |
24 | SUB | Acc ← Acc DD | |
25 | MUL | Acc ← Acc × DD | |
26 | DIV | Acc ← Acc/DD | |
27 | |||
28 | EI | IF ← 1 | |
29 | DI | IF ← 0 | |
30 | MOV | R1 ← R2 | |
31 | RD | Acc ← R* | |
32 | WR | R* ← Acc | |
33 | ADD | Acc ← Acc + R* | |
34 | SUB | Acc ← Acc R* | |
35 | MUL | Acc ← Acc × R* | |
36 | DIV | Acc ← Acc/R* | |
37 | IN | Acc ← (CR[ADR*]) | |
38 | OUT | ||
39 | |||
40 | |||
41 | RDI | Acc ← I | |
42 | |||
43 | ADI | Acc ← Acc + I | |
44 | SBI | Acc ← Acc I | |
45 | MULI | Acc ← Acc × I | |
46 | DIVI | Acc ← Acc/I |
|
|
. 2.3. :
DD , ( );
R(*) ( );
(*) , () ;
I ;
V , ;
CR[ADR] (CR)