发布于 2007-06-20 11:08:15
0楼
// CALL "FIFO"
// pointer_any:=P#DB10.DBX 0.0 INT 180
// Reset :="Flt_FILL"
// in1_W :="month"
// in2_W :="day"
// in3_W :="hour"
// in4_W :="minute"
// in5_W :=#mac_code
// in6_W :=#alm_code
L P##pointer_any
LAR1
L B [AR1,P#1.0]
L 5
==I
JC fifo
CLR
SAVE
BEU //END
//**************************************************
fifo: NOP 0
L W [AR1,P#2.0]
T #cnt_loop
L 2
*I
ITD
L 3
TAK
SLD
L P#0.0
+D
T #par_pointer
L W [AR1,P#4.0]
T #temp_var
OPN DB [#temp_var]
AN #Reset //FILL
JC _run
L P#0.0
T #par_pointer
L #cnt_loop
R_lp: T #cnt_loop
L #par_pointer
L P#2.0
+D
T #par_pointer
L 0
T DBW [#par_pointer]
L #cnt_loop
LOOP R_lp //FILL
BEU //end
_run: L #cnt_loop
next: NOP 0
T #cnt_loop
L #par_pointer
L P#2.0
-D
T #par_pointer
LAR1
L DBW [AR1,P#0.0]
T DBW [AR1,P#12.0]
L #cnt_loop
LOOP next //end
L #in1_W
T DBW 0
L #in2_W
T DBW 2
L #in3_W
T DBW 4
L #in4_W
T DBW 6
L #in5_W
T DBW 8
L #in6_W
T DBW 10
SET
SAVE
BEU