; -
M4: MOVE.L #$9,D0;
M1: MOVE.L D0,D1;
; D1
MOVE.B (A0)+,D2;
EOR.B D0,D2;
MOVE.B D2,(A1)+;
; (1)+
ANDI.B #$95,D0;
BSR EVEN; -
;
MOVE SR,D5; ͳ, SR D5
BTST #$0,D2; ʳ
BEQ.B M2; ?
ANDI.B #$FD,D5; 0
BRA.L M3; 1
M2: ORI.B #$10,D5; , 1
M3: MOVE D5,SR; ³
MOVE.L D1,D0; ³
ROXL.B #1,D0; D0
DBF D3,M1;
;
MOVEA.L #$400800,A0;
MOVEA.L #$400900,A1;
MOVE.L #$FE,D3;
DBF D4,M4;
;
NOP;
, , D0, , MOVE.L #$9, D 0 .
: , , $400700; $400800 , , $400900, . 255- .
12.4.2 N 1 1. , 1 . , 2 . , , , , ADDR 1 , , . , ADDR 2. , .
:
D 0
D 1
D 2 DELAY
A 0 , ADDR 1
A 1 , ADDR 2
A 2 , ADDR 3 ( 1)
3 , ADDR 4 ( )
|
|
4 , ADDR 5 ( 2)
1
³ , 2
, ADDR 2, .
OVEA.L #$ADDR1,A0; ADDR1 A0
MOVEA.L #$ADDR3,A2; 1
MOVEA.L #$ADDR4,A3;
MOVEA.L #$ADDR5,A4; 2
MN: MOVE #$N-1,D0; N-1
MP: MOVE #$P-1,D1; -1
M5: MOVEA.L #$ADDR2-1,A1; ADDR2-1 A1
M1: MOVE.B (A2),D3; ³ 1
#$B1,D3; 1
BNE M1;
MOVE.B D0,(A3);
JSR DELAY
MOVE.B D1,(A3);
;
JMP M3
DELAY: MOVE #$K,D2; D2 ,
;
2: SUBQ #1,D2; D2
BNE 2; ,
; D2 0
RTS; DELAY
M3: MOVE.B (A4),D3;
;
ADDA,L #1,A1; ADDR2+2
MP2.B (A1)+,D3;
; (1) ≤ D3 ≤ (A1+1)
BQ 4
MOVE.B D0,(A0)+;
;
MOVE.B D1,(A0)+;
;
MOVE.B D3,(A0)+;
;
4: DBF D1,M3;
; , D1 -1
MOVE #$P-1,D1; ³ D1
DBF D0,M5;
; N, D0 -1
JMP MN;
- .
12.4.3 N ADDR 1 ADDRN. , , . , ; $AA, . , ADDRR = ADDRN +1. , , , , .
MOVE.L #$ADDR1,A0; 1- 0
MOVE #$N-1,D0;
;
MOVE #$1,D1;
;
EOR D3,D3; D3
;
MOVE.L #$ADDR,A1;
; 1
MOVEA. L #$ADDR,A2;
; 2
MOVEA. L #$ADDRR,A3;
;
;
M1: MOVE.L A0,(A1); i-
;
|
|
DDQ #1,0;
MOVE.B (A2),D2;
;
CMP $AA,D2; (D2)
; $AA
BNE M2; ͳ, (D2) $AA
ADDI #1,D3; , (D2) $AA,
; D3
MOVEA. L A0,(A3)+;
;
M2: DBF D0,M1;
;
CMPI 0,D3; D3 0
BEQ M3;
JMP M5
M3: JSR DELAY; DELAY
MOVEA.L #$ADDR1,A0; ³
MOVEA. L #$ADDRR,A3; ³
;
;
4: DBF D1,M1;
;
M5: NOP;
DELAY: MOVE #$K,D4; D4 ,
;
6: SUBQ #1,D4;
BNE 6;
RTS;
12.4.4 , N . Y = 1, . Y = 0, .
N N -2 -1. ֳ , , .
, , [8]. 䳿:
1 mask 1, 1 , , 0 , , , Y 1.
2 Y 1 mask 2, 1 , , 0 , Y 2.
3 Y 2 ≠ 0, Y = 0, , , Y 2 = 0, Y = 1.
MOVE.L #$ADDR1,A1;
MOVE.L #$, ADDR2,A2;
LOOP: MOVE #$N-1,D0;
M1: MOVE D0,(A2); N-
MOVE (A1),D1; Yi
ANI.B #mask1,D1; ,
; Yi, Y1i
EORI.B #$mask2,D1; Y2
BEQ M3; Yi = 1
M2: DBF D0,M1; Y = 0,
JMP LOOP;
3: JSR DELAY; DELAY
MOVE D1,(A2);
JMP M2
DELAY: MOVE #$K,D3; D3 ,
;
4: SUBQ #1,D4;
BNE 4;
RTS;
.
:
1 , ?
2 ?
3 - ?
4 , -?
:
1 , . Y = 1, ; Y = 0, . ʳ . .