前面程序已经打开了DB块,麻烦大侠们帮忙分析一下,多谢了!
A DIX 26.1 //Start ProgSelect
FP DIX 68.0 //StartProgSelection FP
JCN M042
//2 special programs selected simultaneously ?
L 0
T #schmierwort
LAR1 P#0.0
L 10
M047: T #index
A DIX [AR1,P#26.2] //Special program 1
JCN M048
L #schmierwort
INC 1
T #schmierwort
M048: +AR1 P#0.1
L #index
LOOP M047
L #schmierwort
L 1
>I
S DIX 28.1 //Fault selection
R DIX 26.1 //Start ProgSelect
BEC
A DIX 24.2 //WithProgSelctionPicture
JC M042
L P#2.0
LAR1
L 32 //maximum character length
M044: T #index //Loop counter
L DIB [AR1,P#32.0] //Space
T DBB [AR1,P#130.0] //program name
+AR1 P#1.0
L #index
LOOP M044
L W#16#2020 //Character head
T DBW 130
L '_'
T DBB 132 //program name
L 'N'
T DBB 133 //program name
L '_'
T DBB 134 //program name
L P#2.0
LAR1
L P#5.0
LAR2
L 0 //No prefix
L DIW 66 //Length of prefix
==I
JC M043
M041: T #index //Loop counter
L DIB [AR1,P#0.0] //ProgNamePrefix
T DBB [AR2,P#130.0] //program name
+AR1 P#1.0
+AR2 P#1.0
L #index
LOOP M041
M043: L DIB 25 //WpcTypNoBCD
L B#16#F0 //Mask out tetrad
AW
SRW 4
L 48 //int -> ASCII
+I
T DBB [AR2,P#130.0] //program name
+AR2 P#1.0
L DIB 25 //WpcTypNoBCD
L B#16#F //Mask out tetrad
AW
L 48 //int after ASCII
+I
T DBB [AR2,P#130.0] //program name
+AR2 P#1.0
L '_'
T DBB [AR2,P#130.0] //program name
+AR2 P#1.0
L 'M'
T DBB [AR2,P#130.0] //program name
+AR2 P#1.0
L 'P'
T DBB [AR2,P#130.0] //program name
+AR2 P#1.0
L 'F'
T DBB [AR2,P#130.0] //program name
//Reload program information
L DBW 82 //Path machining program
T DBW 0 //Channel current program
L P#0.0
LAR1
L 46 //maximum character length
M045: T #index //Loop counter
L DBB [AR1,P#84.0] //Machining program path
T DBB [AR1,P#2.0] //Path of current program
+AR1 P#1.0
L #index
LOOP M045
L P#0.0
LAR1
L 34 //maximum character length
M046: T #index //Loop counter
L DBB [AR1,P#130.0] //Machine program name
T DBB [AR1,P#48.0] //Name of current program
+AR1 P#1.0
L #index
LOOP M046
M042: NOP 0