̳
1 ¸ 2 ϖ 8 58080 ( 580), , , 58055 .
580 ( ) 64 . - . 1 . 16- () .
( 580 8 ) . 䳿 , . 8- , ( 580 78 ), . , () 䳿 .
, , .
580 :
, ;
, 8 , , ;
, - ( , , ), ;
( , , );
16- , - 216 = 64 ;
(16- , ), , (- ) ;
(, ) ( 系, , , , , ) 8- ;
²[27] ( );
([28]) ² ( );
|
|
( , , ).
580, (. 1).
. 1. 580.
580 , . . 2. . .
. 2. 580.
580 : 1) ; 2) ; 3) ; 4) ; 5) . 580 . 2. :
- A, B, C, D, E, H, L ;
- R (A, B, C, D, E, H, L);
- RhRl B C, D E, H L
- M (memory) , HL;
- # , ;
- ## , ;
- ** .
2.
8 58080.
MOV R1, R2 | (R2) R1 | R2 R1 | |
MOV R, M | (M(HL)) R | , H, L, R | |
MOV M, R | (R) M(HL) | R , H, L | |
XCHG | (HL) (DE) | (H, L) (D, E) | |
SPHL | (HL) SP | H, L SP | |
LDAX RhRl | (M(RhRl)) A | , RhRl, | |
STAX RhRl | (A) M(RhRl) | , RhRl | |
LDA ** | (M(**)) A | , , | |
STA ** | (A) M(**) | , | |
LHLD ** | (M(**)) L (M(**+1)) H | , , L , H | |
SHLD ** | (L) M(**) (H) M(**+1) | L , , H , | |
MVI R, # | # R | R | |
MVI M, # | # M(HL) | , H, L | |
LXI RhRl, ## | ## RhRl | Rh, Rl RhRl | |
PUSH RhRl | (Rh) M(SP1) (Rl) M(SP2) (SP) 2 SP | RhRl ( ) | |
POP RhRl | (M(SP)) Rl (M(SP+1)) Rh (SP) + 2 SP | RhRl ( ) | |
XTHL | (H) (M(SP)) (L) (M(SP1)) | H, L | |
IN port | (port) A | / | |
OUT port | (A) port | / | |
ADD R | (A) + (R) A | S, Z, AC, P, CY | R. |
ADD M | (A) + (M(HL)) A | S, Z, AC, P, CY | , H, L. |
ADC R | (A) + (R) + ( Y) A | S, Z, AC, P, CY | R Y. |
ADC M | (A) + (M(HL)) + ( Y) A | S, Z, AC, P, CY | , H, L, Y. |
DAD RhRl | (HL) + (RhRl) HL | C | H, L ( ) RhRl. HL |
SUB R | (A) (R) A | S, Z, AC, P, CY | ³ R. |
SUB M | (A) (M(HL)) A | S, Z, AC, P, CY | ³ , H, L. |
SBB R | (A) (R) ( Y) A | S, Z, AC, P, CY | ³ R Y. |
SBB M | (A) (M(HL)) ( Y) A | S, Z, AC, P, CY | ³ , H, L, Y. |
INR R | (R) + 1 R | S, Z, AC, P | R () |
INR M | (M(HL)) + 1 M(HL) | S, Z, AC, P | , H, L () |
DCR R | (R) 1 R | S, Z, AC, P | R () |
DCR M | (M(HL)) 1 M(HL) | S, Z, AC, P | , H, L () |
INX RhRl | (RhRl) + 1 RhRl | RhRl ( ) . RhRl | |
DCX RhRl | (RhRl) 1 RhRl | ³ RhRl ( ) . RhRl | |
ADI # | (A) + # A | S, Z, AC, P, CY | . |
ACI # | (A) + # + ( Y) A | S, Z, AC, P, CY | Y. |
SUI # | (A) # A | S, Z, AC, P, CY | ³ . |
SBI # | (A) # ( Y) A | S, Z, AC, P, CY | ³ Y. |
DAA | (A)210 (A)2 | S, Z, AC, P, CY | |
ANA R | (Ai) L (Ri) Ai (i = 0¸7) | S, Z, P. CY = 0; AC = A3. | R. |
XRA R | (Ai) Å (Ri) Ai (i = 0¸7) | S, Z, P. CY = AC = 0. | mod 2 R. |
ORA R | (Ai) V (Ri) Ai (i = 0¸7) | S, Z, P. CY = AC = 0. | R. |
CMP R | (A) (R) | S, Z, AC, P, CY | A R. (A) = (R), (Z) = 1. (A) < (R), (CY) = 1 (Z) = 0 |
ANA M | (Ai) L (M(HL)i) Ai (i = 0¸7) | S, Z, P. CY = 0; AC = A3. | , H, L. |
XRA M | (Ai) Å (M(HL)i) Ai (i = 0¸7) | S, Z, P. CY = AC = 0. | mod 2 , H, L. |
ORA M | (Ai) V (M(HL)i) Ai (i = 0¸7) | S, Z, P. CY = AC = 0. | , H, L. |
CMP M | (A) (M(HL)) | S, Z, AC, P, CY | A , H, L. (A) = (M(HL)), (Z) = 1. (A) < (M(HL)), (CY) = 1 (Z) = 0 |
ANI # | (Ai) L #i Ai (i = 0¸7) | S, Z, P. CY = 0; AC = A3. | . |
XRI # | (Ai) Å #i Ai (i = 0¸7) | S, Z, P. CY = AC = 0. | mod 2 . |
ORI # | (Ai) V #i Ai (i = 0¸7) | S, Z, P. CY = AC = 0. | . |
CPI # | (A) # | S, Z, AC, P, CY | A . (A) = (M(HL)), (Z) = 1. (A) < (M(HL)), (CY) = 1 (Z) = 0 |
RLC | (A7) CY, AC = 0 | . 7 Y | |
RRC | (A0) CY, AC = 0 | . 0 Y | |
RAL | Y | (A7) CY, AC = 0 | . Y |
RAR | Y | (A0) CY, AC = 0 | . Y |
CMA | (`A) A | ||
CMC | (`Y) Y | Y | Y |
STC | 1 Y | Y = 1 | 1 Y |
PCHL | (HL) P | HL | |
JMP ** | ** P | ||
J() ** | , ** P, PC+1 P | . | |
CALL ** | (PC)h M(SP 1) (PC)l M(SP 2) SP 2SP ** PC | () , , | |
() ** | , . , PC+1 P | () , , | |
RET | (M(SP)) PC l (M(SP+1)) PC h (SP) + 2 SP | , | |
R() | , . , PC+1 P | , | |
RST n | (PC)h M(SP 1) (PC)l M(SP 2) SP 2SP n´8 PC | , n | |
EI | 1 - | ||
DI | 0 - | ||
HTL | |||
NOP |
|
|
|
|
|
|
:
S ; , (0 ; 1 䒺).
Z ; 0, Z = 1, Z = 0.
AC ; ( 3 4 ), = 1, = 0.
; , = 1, = 0.
Y (); , Y = 1, Y = 0.
580 8 , . , , , , .
:
1) . , N ( 4 N = 4).
2) . DE HL, . .
3) .
4) .
5) .
6) .
7) .
8) , , .
9) , . .
10) , .4.
11) .
, . . .
D , , L .
|
|
:
1) .
2) .
3) .
4) ( RAR) Y.
5) .
6) Y 1, D , .
7) ( RAR) . , .
8) L.
9) , ( . 3).
10) .
(, , , ) - 58055 (ϲ).
̳ 8- A, B , , . ϳ IN # OUT #, # 580 # .
8 () .
䳿 ϖ . 4, 5 :
F8 / A;
F9 / B;
FA / C;
FB .
A 8- , 8- . , 0, 1, 2.
0 1 A .
0 .
1 䳿 ( 1 2 C).
2 A 䳿 .
B 8- , 8- 0 1.
B 0 1, , B, B ( ).
B 0, B B.
B 1, B 䳿 .
C 4- , 0...3 4...7. , 4- 0.
A B 1 2, C , C . C - C.
ϲ (. 3), ( ). .
B . 0 B . , , . 0.
1 | D6 | D5 | D | D | D | D | D | ||||||
03 C | |||||||||||||
1 ; 0 | |||||||||||||
B | |||||||||||||
1 ; 0 | |||||||||||||
B 03 C | |||||||||||||
0 0; 1 1 | |||||||||||||
47 C | |||||||||||||
1 ; 0 | |||||||||||||
A | |||||||||||||
1 ; 0 | |||||||||||||
A 47 C | |||||||||||||
00 0; 01 1; 1 2 |
. 3. 58055.
, 1 2 , 7 1 (. . 3). 100000002 = 8016 MVI A, 8016, OUT FB .
1 , 0 = 1 OUT F9 .
1 . , . , , . ˳ , , .
0 . OUT F9 .
, . , , 0 0, 1, 2, 3, 4, 5 (. 4). , , 001111112 = 3F16. 1 000011002 = 016, 2 011101102 = 7616 . (. . 3). .
. ϳ , . , , , , . ϳ , .
3
16
2 | 16 | 2 | 16 |
A | |||
B | |||
C | |||
D | |||
E | |||
F |
1. ( 580) , , 580.
:
FIRST SECND HL DE N | ; ; ; (N = 4); ( ). |
:
̳ | |||
ADDN: | MVI | B, N | ; |
LXI | D, FIRST | ; | |
LXI | H, SECND | ||
XRA LDAX | A | ; | |
LOOP: | LDAX | D | ; |
ADC | M | ; | |
STAX | D | ; | |
DCR | ; | ||
JZ | DONE | ; ? | |
INX | H | ; | |
INX | D | ||
JMP | LOOP | ; | |
DONE: | ; |
2. , . 1, 4, 7, , , 2, 5, 8. 3, 6 . .
B ( F9), 0- . 80. . г 1 , 0 .
VD1 | VD2 | VD3 | VD4 | VD5 | VD6 | VD7 | BD8 | |
: ; ; .
:
̳ | |||
MVI | A, 80 | ; | |
OUT | FB | ; | |
SEQ: | MVI | A, 92 | ; 92 |
OUT | F9 | ; 1, 4, 7 | |
MVI | D, 01 | ; | |
CALL | DELAY | ; | |
MVI | A, 49 | ; 49 | |
OUT | F9 | ; 2, 5, 8 | |
MVI | D, 01 | ; | |
CALL | DELAY | ; | |
MVI | A, 24 | ; 24 | |
OUT | F9 | ; 3, 6 | |
MVI | D, 01 | ; | |
CALL | DELAY | ; | |
JMP | SEQ | ; | |
DELAY: | LXI | B, 2500 | ; 0,786 |
LOOP: | DCX | B | ; |
MOV | A, B | ; | |
ORA | C | ; | |
JNZ | LOOP | ; | |
DCR | D | ; D | |
JNZ | DELAY | ; | |
RET | ; |
. D B C DELAY.
- 4