csect 00246000
* copy lnsrch 00247000
macro 00248000
&name lnsrch &arg,&offset=stnumb-stchain 00249000
lclc &label 00250000
&label setc 'A&sysndx' Generate symbol 00251000
aif (t'&name eq 'O').skip 00252000
&label setc '&name' If MACRO call has label, use it 00253000
.skip anop instead of generated symbol 00254000
&label la 0,&offset Load reg. 0 00255000
schi &arg,0(1) Search 00256000
bc 1,&label If max reached, continue 00257000
mend 00258000
* copy schi 00260000
macro 00261000
&nm schi &comp,&list 00262000
lcla &cnt 00263000
lclc &cmpadr 00264000
&cnt seta 1 00265000
&nm stm 1,15,4(13) 00266000
.test anop 00267000
&cmpadr setc '&cmpadr'.'&comp'(&cnt,1) 00268000
aif ('&comp'(&cnt,1) eq '(').lpar 00269000
&cnt seta &cnt+1 00270000
aif (&cnt lt k'&comp).test 00271000
.nolnth anop 00272000
la 3,&comp Comparand 00273000
ago .contin 00274000
.lpar aif ('&comp'(&cnt+1,1) eq ',').finish 00275000
&cnt seta &cnt+1 00276000
aif (&cnt lt k'&comp).lpar 00277000
ago .nolnth 00278000
.finish anop 00279000
&cmpadr setc '&cmpadr'.'&comp'(&cnt+2,k'&comp-&cnt) 00280000
la 3,&cmpadr Comparand sans length 00281000
.contin anop 00282000
la 1,&list List header 00283000
mvc &comp,0(0) Dummy move to get comp length 00284000
org *-6 Change MVC to MVI 00285000
dc x'92' MVI Opcode 00286000
org *+1 Preserve length as immed opnd 00287000
dc x'd000' Result is MVI 0(13),L 00288000
l 15,=v(schi) 00289000
balr 14,15 00290000
lm 1,15,4(13) 00291000
mexit 00292000
mend 00293000
test csect 00295000
balr 12,0 00296000
using *,12 00297000
mhelp b'11111' 00299000
lnsrch listline,offset=listline-listnext
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|