.


:




:

































 

 

 

 


MOVE.L #$1,D4 ;




; -

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, . ʳ . .

 

 


 





:


: 2015-10-19; !; : 311 |


:

:

, ; , .
==> ...

1795 - | 1562 -


© 2015-2024 lektsii.org - -

: 0.025 .