.


:




:

































 

 

 

 





 

: , .

, (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)

 

 





:


: 2018-11-10; !; : 3356 |


:

:

- , , .
==> ...

1573 - | 1378 -


© 2015-2024 lektsii.org - -

: 0.009 .