19 , , 14 , . . 4 .
4.
JMP ad11 | 109800100 | 3 2 2 | (PC0-10) = ad11, (PC11) = DBF | |
JMPP @A | 1 1 2 | (PC0-7) = ((A)) | ||
, e | DJNZ Rn,ad | 11101rrr | 4 2 2 | (Rn) = (Rn) -1; (Rn) = 0, o (PC0-7) = ad, (PC)=(PC)+2 |
, | JC ad | 4 2 2 | () = 1, (0-7) = ad, (PC)=(PC)+2 | |
, | JNC ad | 4 2 2 | () =0, (0-7) = ad, (PC)=(PC)+2 | |
, | JZ ad | 4 2 2 | () =0, (0-7) = d, (PC)=(PC)+2 | |
, e | JNZ ad | 4 2 2 | () ≠ 0, (0-7) = d, (PC)=(PC)+2 | |
, 0 | JT0 ad | 4 2 2 | 0=1, (0-7) = ad, (PC)=(PC)+2 | |
, 0 | JNT0 ad | 4 2 2 | 0=0, (0-7) = ad, (PC)=(PC)+2 | |
, 1 | JT1 ad | 4 2 2 | 1=1, (0-7) = ad, (PC)=(PC)+2 | |
, 1 | JNT1 ad | 4 2 2 | 1=0, (0-7) = ad, (PC)=(PC)+2 | |
, F0 | JF0 ad | 4 2 2 | (F0) =1, (0-7) = ad, (PC)=(PC)+2 | |
, F1 | JF1 ad | 4 2 2 | (F1)=1, (0-7) = ad, (PC)=(PC)+2 | |
, | JTF ad | 4 2 2 | TF=1, F = 0, (PC0-7) = ad, (PC) = (PC) + 2 | |
, | JNI ad | 4 2 2 | =0, (0-7) = ad, (PC)=(PC) + 2 | |
, | JBb ad | bbb10010 | 4 2 2 | (b) = 1, (PC0-7)=ad, (b=0-7) (PC) = (PC) + 2 |
CALL ad11 | 109810100 | 3 2 2 | ((SP)) = (PC), (PSW4-7), (SP) = (SP) + 1, (PC11) = DBF, (0-10) = ad11 | |
RET | 1 1 2 | (SP) = (SP) -1, (PC) = ((SP)) | ||
RETR | 1 1 2 | (SP) = (SP) - 1, (PC) = ((SP)), (PSW4-7) = ((SP)) |
. . 8 (ad) 11 (ad11) . JMP 2048- (). DBF, (11) JMP CALL. DBF, JMP, .
|
|
( ) . (256 ).
(. . , ), , . (JMP).
. JMPP , , . , . , JMPP. , , .
. , . . ,
. F0 , .
. DJNZ. , . DJNZ - . ,
, - . :
MOV RN, N;
LOOP:...;
...
...
CYCLE: DJNZ RN, LOOP; RN, ,
, LOOP CYCLE .
. CALL, . . (16 ) .
RET, . RETR, .
, ( ) . , DBF. DBF, ( ), . , DBF . DBF . . , , SUBROUT, , , .
|
|
SEL MB1; DBF
CALL SUBROUT; (
; DBF
; 1)
SEL MB0; DBF
; 1