* MESSAGE$ MAKPO - BHõTPEHHññ MK äìñ MSGTAB AGE$0001 * * * ðOCìEäHññ KOPPEKTéPOBKA: äATA 06.05.89 BPEMñ 04.14 * æOKõC AGE$0002 * MESSAGE$ [,] AGE$0003 * ìEHéHçPAä éBã çõT OTä. 07 T: 310-98-12 AGE$0004 MACRO AGE$0005 &NAME MESSAGE$ &MSG,&NUM AGE$0006 GBLA &MSGLEN$ AGE$0007 LCLA &I,&LEN,&LEND,&VL,&K AGE$0008 LCLB &ERBIT,&GBITA,&GBL,&GBSP,&GBED,&BL,&BS,&BE AGE$0009 LCLB &LENBIT,&LENBITV,&QP AGE$0010 LCLC &COD,&TYPC1,&TYPC2,&LENC,&ADR AGE$0011 .* AGE$0012 &MSGLEN$ SETA 0 AGE$0013 AIF ('&MSG' EQ '').END AGE$0014 &NAME DS 0F AGE$0015 &I SETA 1 AGE$0016 .* AGE$0017 .NEXTEL ANOP AGE$0018 AIF (&I LT N'&MSG).NEXTEL1 AGE$0019 AIF ('&MSG(&I)' EQ '-').END CéMBOì ðEPEHOCA ? AGE$0020 &VL SETA 128 AGE$0021 .NEXTEL1 ANOP AGE$0022 .*--------------------------------------------------------------------- AGE$0023 AIF (N'&MSG(&I) LE 4).LSP AGE$0024 .ERNPARM MNOTE 4,' N=(&NUM,&I) : õKAúAHO âOìøûE 4-X ðAPAMETPOB' AGE$0025 .*------------------------------- +/-LSP ------------------------------ AGE$0026 .LSP ANOP AGE$0027 &ERBIT SETB 0 AGE$0028 &K SETA 1 AGE$0029 AIF ('&MSG(&I)'(1,1) EQ '-').BITSOFF AGE$0030 AIF ('&MSG(&I)'(1,1) NE '+').LBITSET AGE$0031 &GBITA SETB 1 AGE$0032 AGO .GBITSET AGE$0033 .* AGE$0034 .BITSOFF ANOP AGE$0035 &GBITA SETB 0 AGE$0036 .GBITSET AIF (&VL NE 0).ERRLAST AGE$0037 AIF (K'&MSG(&I) LE &K).NEXTI AGE$0038 &K SETA &K+1 AGE$0039 AIF ('&MSG(&I)'(&K,1) NE 'L').GBSPSET AGE$0040 &GBL SETB (&GBITA) AGE$0041 AGO .GBITSET AGE$0042 .GBSPSET AIF ('&MSG(&I)'(&K,1) NE 'S').GBEDSET AGE$0043 &GBSP SETB (&GBITA) AGE$0044 AGO .GBITSET AGE$0045 .GBEDSET AIF ('&MSG(&I)'(&K,1) NE 'E').GBMNOTE AGE$0046 &GBED SETB (&GBITA) AGE$0047 AGO .GBITSET AGE$0048 .GBMNOTE MNOTE 8,' N=(&NUM,&I) : HEðPABéìøHOE õKAúAHéE "&MSG(&I)"' AGE$0049 AGO .GBITSET AGE$0050 .*------------------------------- 4 ðAPAMETP -------------------------- AGE$0051 .LBITSET ANOP AGE$0052 &BL SETB (&GBL) âéT õäAì. ðPOâEìOB AGE$0053 &BS SETB (&GBSP) âéT 1 ðPOâEìA AGE$0054 &BE SETB (&GBED) âéT PEäAKTéPOBAHéñ AGE$0055 .* AGE$0056 &K SETA 0 AGE$0057 .LBITST2 ANOP AGE$0058 &K SETA &K+1 AGE$0059 AIF (&K GT K'&MSG(&I,4)).LENSET AGE$0060 AIF ('&MSG(&I,4)'(&K,1) NE 'L').LBITSS AGE$0061 &BL SETB 1 AGE$0062 AGO .LBITST2 AGE$0063 .LBITSS AIF ('&MSG(&I,4)'(&K,1) NE 'S').LBITSE AGE$0064 &BS SETB 1 AGE$0065 AGO .LBITST2 AGE$0066 .LBITSE AIF ('&MSG(&I,4)'(&K,1) NE 'E').LBITER AGE$0067 &BE SETB 1 AGE$0068 AGO .LBITST2 AGE$0069 .LBITER MNOTE 8,' N=(&NUM,&I) : HEBEPHOE õKAúAHéE PEäAKTéPOBAHéñ - "&M*AGE$0070 SG(&I,4)"' AGE$0071 AGO .LBITST2 AGE$0072 .*------------------------------- 2 ðAPAMETP (äìéHA) ------------------ AGE$0073 .LENSET ANOP AGE$0074 &LENBITV SETB 0 AGE$0075 &LENBIT SETB ('&MSG(&I,2)' NE '') AGE$0076 AIF (NOT &LENBIT).SETTYP AGE$0077 &LENBITV SETB ('&MSG(&I,2)'(1,1) EQ '*') AGE$0078 AIF (NOT &LENBITV).LENSETF AGE$0079 &LENC SETC '&MSG(&I,2)'(2,3) AGE$0080 &LEN SETA &LENC AGE$0081 AGO .LENTEST AGE$0082 .LENSETF ANOP AGE$0083 &LEN SETA &MSG(&I,2) AGE$0084 .LENTEST AIF (&LEN LE 127 OR &LENBITV).SETTYP AGE$0085 MNOTE 8,' N=(&NUM,&I) : äìéHA 1 ðOìñ HE MOöET âùTø âOìøûE 127' AGE$0086 &LEN SETA 127 AGE$0087 .*------------------------------- 3 ðAPAMETP (Téð) -------------------- AGE$0088 .SETTYP ANOP AGE$0089 &TYPC1 SETC '' AGE$0090 &TYPC2 SETC '0' AGE$0091 AIF (K'&MSG(&I,3) EQ 0).TESTVAR AGE$0092 &TYPC1 SETC '&MSG(&I,3)'(1,1) AGE$0093 AIF (K'&MSG(&I,3) EQ 1).TESTVAR AGE$0094 &TYPC2 SETC '&MSG(&I,3)'(2,1) AGE$0095 .*------------------------------- ðPOBEPKA VAR.L. & E ----------------- AGE$0096 .TESTVAR AIF (NOT &LENBITV).TESTED AGE$0097 AIF ('&TYPC1' EQ '' OR '&TYPC1' EQ 'X' OR '&TYPC1' EQ 'C').TESTED AGE$0098 MNOTE 8,' N=(&NUM,&I) : ðEPEMEHHAñ äìéHA PAúPEûAETCñ äìñ "C" é "X"' AGE$0099 &LENBITV SETB 0 AGE$0100 .TESTED AIF (NOT &BE).SELECT AGE$0101 AIF ('&TYPC1' EQ '' OR '&TYPC1' EQ 'D' OR '&TYPC1' EQ 'P' OR *AGE$0102 '&TYPC1' EQ 'C' OR '&TYPC1' EQ 'F' OR '&TYPC1' EQ 'H').S*AGE$0103 ELECT AGE$0104 AIF (&GBED).ZEROLBE AGE$0105 MNOTE 4,' N=(&NUM,&I) : äìñ TéðA &TYPC1 HEìøúñ äABATø "E"' AGE$0106 .ZEROLBE ANOP AGE$0107 &BE SETB 0 AGE$0108 .*------------------------------- PAúOûìéCø ðO TéðAM ------------------ AGE$0109 .SELECT ANOP AGE$0110 AIF ('&TYPC1' EQ '*').FILL AGE$0111 AIF ('&MSG(&I,1)'(1,1) EQ '''').LITERAL AGE$0112 AIF ('&MSG(&I,1)'(1,1) EQ '=').TAB AGE$0113 AIF ('&MSG(&I,1)'(1,1) EQ '<').JUMP AGE$0114 AIF ('&MSG(&I,1)' EQ '*').OWNNUMB AGE$0115 AIF (K'&MSG(&I,1) LT 2).SELECT2 AGE$0116 AIF ('&MSG(&I,1)'(1,2) EQ 'X''').XLITER AGE$0117 .SELECT2 AIF ('&TYPC1' EQ '' OR '&TYPC1' EQ 'C').CHAR AGE$0118 AIF ('&TYPC1' EQ 'X').HEX AGE$0119 AIF ('&TYPC1' EQ 'B').BIT AGE$0120 AIF ('&TYPC1' EQ 'P').PACKED AGE$0121 AIF ('&TYPC1' EQ 'D').D AGE$0122 AIF ('&TYPC1' EQ 'A').ADRESS AGE$0123 AIF ('&TYPC1' EQ 'F').D4 AGE$0124 AIF ('&TYPC1' EQ 'H').D2 AGE$0125 .* AGE$0126 .ERTYP MNOTE 8,' N=(&NUM,&I) : HEBEPHùê Téð - &MSG(&I,3) ; OâPAâATùBA*AGE$0127 ETCñ KAK "C"' AGE$0128 AGO .CHAR AGE$0129 .*------------------------------- äECñTéþHùE Téðù --------------------- AGE$0130 .D AIF ('&TYPC2' EQ '0').D0 AGE$0131 AIF ('&TYPC2' EQ '4').D4 AGE$0132 AIF ('&TYPC2' EQ '2').D2 AGE$0133 AIF ('&TYPC2' EQ '1').D1 AGE$0134 AIF ('&TYPC2' EQ 'X').DX AGE$0135 AIF ('&TYPC2' EQ 'D').DD AGE$0136 AGO .ERTYP AGE$0137 .D0 AIF (T'&MSG(&I,1) EQ 'F' OR T'&MSG(&I,1) EQ 'A').D4 AGE$0138 AIF (T'&MSG(&I,1) EQ 'H' OR T'&MSG(&I,1) EQ 'Y').D2 AGE$0139 AIF (T'&MSG(&I,1) EQ 'X' OR T'&MSG(&I,1) EQ 'B' OR T'&MSG(&I*AGE$0140 ,1) EQ 'C').D1 AGE$0141 MNOTE 8,' N=(&NUM,&I) : TPEâõETCñ ñBHOE õKAúAHéE äìéHù &MSG(&I,1)' AGE$0142 .D1 ANOP AGE$0143 &COD SETC '1000' AGE$0144 &LEND SETA 3 AGE$0145 AGO .COMMONL AGE$0146 .D2 ANOP AGE$0147 &COD SETC '1001' AGE$0148 &LEND SETA 6 AGE$0149 AGO .COMMONL AGE$0150 .D4 ANOP AGE$0151 &COD SETC '1010' AGE$0152 &LEND SETA 11 AGE$0153 AGO .COMMONL AGE$0154 .DD ANOP AGE$0155 &COD SETC '1011' AGE$0156 &LEND SETA 4 AGE$0157 AGO .COMMONL AGE$0158 .* AGE$0159 .DX ANOP AGE$0160 &COD SETC '1100' AGE$0161 &LEND SETA 3 AGE$0162 AGO .COMMONL AGE$0163 .*------------------------------- ûECTHAäãATEPéþHùê ------------------- AGE$0164 .HEX AIF (&TYPC2 LE 1).HEX1 AGE$0165 MNOTE 4,' N=(&NUM,&I) : "X&TYPC2" - OûéâKA; OâPAâATùBAETCñ KAK "X0"' AGE$0166 &TYPC2 SETC '0' AGE$0167 .HEX1 ANOP AGE$0168 &COD SETC '0001' AGE$0169 &BE SETB (&TYPC2) AGE$0170 AIF (&LENBIT).COMMON AGE$0171 &LEN SETA L'&MSG(&I,1)*2-&TYPC2 äìéHA ðO õMOìþAHéà AGE$0172 AGO .COMMON AGE$0173 .*--------------------------------------------------------------------- AGE$0174 .CHAR ANOP AGE$0175 &COD SETC '0000' AGE$0176 AIF (&LENBIT).COMMON AGE$0177 &LEN SETA L'&MSG(&I,1) äìéHA ðO õMOìþAHéà AGE$0178 AGO .COMMON AGE$0179 .*--------------------------------------------------------------------- AGE$0180 .OWNNUMB AIF (&LENBIT).DCNUMB AGE$0181 &LEN SETA 3 äìéHA ðO õMOìþAHéà AGE$0182 .DCNUMB DC AL1(&VL+&LEN),B'&BL&BS.0&BE.0110',AL2(0) '*' - # COOâý. AGE$0183 AIF ('&TYPC1' EQ '').ADDLEN AGE$0184 MNOTE 4,' N=(&NUM,&I) : äìñ ''*'' õKAúAH Téð' AGE$0185 AGO .ADDLEN AGE$0186 .*--------------------------------------------------------------------- AGE$0187 .XLITER ANOP AGE$0188 &COD SETC '0000' AGE$0189 LA 0,=&MSG(&I,1) AGE$0190 ORG *-4 AGE$0191 AIF (&LENBIT).DCLITER AGE$0192 &LEN SETA (K'&MSG(&I,1)-3)/2 AGE$0193 AGO .DCLITER AGE$0194 .*--------------------------------------------------------------------- AGE$0195 .LITERAL ANOP AGE$0196 &COD SETC '0000' AGE$0197 .LITER2 LA 0,=C&MSG(&I,1) AGE$0198 ORG *-4 AGE$0199 AIF (&LENBIT).DCLITER AGE$0200 &LEN SETA K'&MSG(&I,1)-2 ???? AGE$0201 &K SETA 1 AGE$0202 &QP SETB 0 AGE$0203 .QPLOOP ANOP AGE$0204 &K SETA &K+1+&QP AGE$0205 AIF (&K GE K'&MSG(&I,1)).DCLITER AGE$0206 &QP SETB ('&MSG(&I,1)'(&K,2) EQ '''''' OR '&MSG(&I,1)'(&K,2) EQ '&&') AGE$0207 &LEN SETA &LEN-&QP AGE$0208 AGO .QPLOOP AGE$0209 .DCLITER DC AL1(&VL+&LEN),B'&BL&BS.00&COD' äìéHA é æìAçé AGE$0210 ORG *+2 AGE$0211 AIF ('&TYPC1' EQ '' OR '&TYPC1' EQ '*').ADDLEN AGE$0212 MNOTE 4,' N=(&NUM,&I) : äìñ ìéTEPAìA õKAúAH Téð' AGE$0213 AGO .ADDLEN AGE$0214 .*--------------------------------------------------------------------- AGE$0215 .PACKED AIF (&TYPC2 GE 1 AND &TYPC2 LE 8).PACK2 AGE$0216 MNOTE 8,' N=(&NUM,&I) : äìñ "P" äìéHA éCX. ðOìñ ä.â OT 1 äO 8' AGE$0217 &TYPC2 SETC '1' AGE$0218 .PACK2 AIF (&LENBIT).DCPCK AGE$0219 &LEN SETA &BITC2*2 AGE$0220 .DCPCK DC AL1(&VL+(&LEN-1)*8+&TYPC2-1),B'&BL&BS.0&BE.0010',S(&MSG(*AGE$0221 &I,1)) AGE$0222 AGO .ADDLEN AGE$0223 .*--------------------------------------------------------------------- AGE$0224 .BIT AIF (&TYPC2 LE 7).BIT1 AGE$0225 MNOTE 4,' N=(&NUM,&I) : HEðPABéìøHùê HOMEP âéTA - "&TYPC2"' AGE$0226 &TYPC2 SETC '0' AGE$0227 .BIT1 AIF (&LENBIT).DCBIT AGE$0228 &LEN SETA L'&MSG(&I,1)*8-&TYPC2 AGE$0229 .DCBIT DC AL1(&VL+&LEN),AL1(&BL*128+&BS*64+0&TYPC2*8+7),S(&MSG(&I,*AGE$0230 1)) AGE$0231 AGO .ADDLEN AGE$0232 .*------------------------------- AäPEC ------------------------------- AGE$0233 .ADRESS ANOP AGE$0234 &COD SETC '1101' AGE$0235 &LEND SETA 6 AGE$0236 AGO .COMMONL AGE$0237 .*------------------------------- ðEPEXOä ----------------------------- AGE$0238 .JUMP AIF (N'&MSG(&I) EQ 1).JUMP2 AGE$0239 MNOTE 4,' N=(&NUM,&I) : äìñ ðEPEXOäA õKAúùBAETCñ TOìøKO AäPEC' AGE$0240 .JUMP2 ANOP AGE$0241 &ADR SETC '&MSG(&I,1)'(2,K'&MSG(&I,1)-2) AGE$0242 AIF ('&MSG(&I,1)'(K'&MSG(&I,1),1) EQ '>').JUMP3 AGE$0243 MNOTE 8,' N=(&NUM,&I) : "&MSG(&I)" - CéHT. OûéâKA' AGE$0244 .JUMP3 DC AL1(&VL),B'00000011',S(&ADR) ðEPEXOä AGE$0245 AGO .NEXTI AGE$0246 .*------------------------------- TAâõìñãéñ --------------------------- AGE$0247 .TAB AIF (N'&MSG(&I) EQ 1).TAB2 AGE$0248 MNOTE 4,' N=(&NUM,&I) : äìñ TAâõìñãéé õKAúùBAETCñ TOìøKO ðOúéã*AGE$0249 éñ B âõæEPE' AGE$0250 .TAB2 ANOP AGE$0251 &ADR SETC '&MSG(&I,1)'(2,K'&MSG(&I,1)-1) AGE$0252 DC AL1(&VL),B'00000100',S(&ADR) AGE$0253 AGO .NEXTI AGE$0254 .*--------------------------------------------------------------------- AGE$0255 .FILL ANOP AGE$0256 &COD SETC '1110' AGE$0257 AIF ('&MSG(&I,1)'(1,1) EQ '''').LITER2 AGE$0258 AGO .COMMONL AGE$0259 .*--------------------------------------------------------------------- AGE$0260 .*--------------------------------------------------------------------- AGE$0261 .COMMONL AIF (&LENBIT).COMMON AGE$0262 &LEN SETA &LEND AGE$0263 .COMMON DC AL1(&VL+&LEN),B'&BL&BS&LENBITV&BE.&COD',S(&MSG(&I,1)) AGE$0264 .* AGE$0265 .ADDLEN ANOP AGE$0266 AIF (NOT &BS).ADDLEN1 AGE$0267 &LEN SETA &LEN+1 AGE$0268 .ADDLEN1 ANOP AGE$0269 &MSGLEN$ SETA &MSGLEN$+&LEN BùþéCìñEM äìéHõ COOâýEHéñ AGE$0270 .*--------------------------------------------------------------------- AGE$0271 .NEXTI ANOP AGE$0272 &I SETA &I+1 AGE$0273 AIF (&I LE N'&MSG).NEXTEL AGE$0274 MEXIT AGE$0275 .* AGE$0276 .ERRLAST MNOTE 4,' N=(&NUM,&I) : "&MSG(&I)" HEìøúñ CTABéTø B KOHãE' AGE$0277 MEXIT AGE$0278 .END MEND AGE$0279