TAR2 #TEMP_AR2
L 8
T #TEMP_STEP
A #dir
JCN JP01
L -8
T #TEMP_STEP
JP01: L LW 14
L LW 14
XOW
INC 1
T LW 14
OPN DB [LW 14]
L DW#16#FD20
LAR1
L DBW [AR1,P#60.0]
T LW 14
L 640
+AR1
L DBW [AR1,P#0.0]
L LW 14
XOW
T LW 14
L 8
+AR1
L DBW [AR1,P#1.0]
T LW 16
L P##src
LAR1
L 0
L W [AR1,P#0.0]
==I
JZ IF01
T #BLOCK_NO
OPN DB [#BLOCK_NO]
IF01: NOP 0
L D [AR1,P#2.0]
LAR1
L #num
T #TEMP_NUM
L 0
==I
JZ EXIT
L #len
T #TEMP_LEN
L 0
==I
JZ EXIT
L P##dest
LAR2
L 0
L W [AR2,P#0.0]
==I
JZ IF05
T #BLOCK_NO
OPN DI [#BLOCK_NO]
L DW#16#5000000
L D [AR2,P#2.0]
OD
JU IF06
IF05: L D [AR2,P#2.0]
IF06: LAR2
L LW 14
L LW 16
XOW
T LW 14
L 8
/I
JZ EXIT
T LD 16
L LW 16
L 0
==I
= #TEMP1
JCN EXIT
L LW 14
L 1
-I
T LW 14
L #offset
L 0
-I
JPZ J001
ITD
NEGD
L L#65536
TAK
-D
J001: L 16
SRW 2
LOOA: T #TEMP_LEN
TAK
L LW 14
ITD
>=D
TAK
JCN JP10
TAK
-D
L LW 14
ITD
SLD 3
+AR2
TAK
L #TEMP_LEN
LOOP LOOA
TAK
NOP 0
JP10: L L#8
*D
+AR2
L #TEMP_NUM
L00C: T #TEMP_NUM
L #len
L00B: T #TEMP_LEN
L B [AR1,P#0.0]
T B [AR2,P#0.0]
L #TEMP_STEP
+AR1
+AR2
L #TEMP_LEN
LOOP L00B
L #TEMP_NUM
LOOP L00C
EXIT: SET
L LW 16
L LW 16
XOW
INC 1
T LW 16
OPN DB [LW 16]
L DW#16#FD20
LAR1
L LW 14
T DBW [AR1,P#70.0]
L 600
+AR1
A #TEMP1
= DBX [AR1,P#0.0]
L LW 16
L 16
+I
L 5
*I
T LW 16
OPN DB [LW 16]
L DW#16#500
LAR1
= DBX [AR1,P#8.0]
JU SBR
CLR
SBR: SAVE
LAR2 #TEMP_AR2