Macro ii-a=part 2. |Psuedo instruction define dfn, add mii trn ilf clc sto mdi add (trn ilf sto qt sto ct add (df1-ilf sto tt add (df2-df1 sto bt cla add psi sto dm3 add one sto dm1 add one sto dm2 add (-sto-psi-nmi-nmi-nmi+1 com trn tmm llr loc slr tlo clc sto loc sto asi tra rnw df1, add syl add chc trn r clc tra ilf df2, add syl add chc trn itt clc tra ilf |Pseudo instruction terminate ter, add mii com trn ilf add tlo sto loc clc sto asi add one sto mii clad psi add (3 sto psi call sco call sco call sco call sco te7, llr sc3 slr te9 clad scw tra .+2 te8, lal ala add scn add one sto scn trn te8 lac te9, xx tra rst |Define macro instruction dmi, llr sym lcc dm3, xx llr syn lcc dm1, xx cla sto liu sto syl sto sym add mai sto sc3 add one sto mai add (add-1 dm2, xx clc sto mii llr one slr mdi load scn, -22 load dsk, -add-dsm cal add (slr dsp tra dm4+2 dm4, xx add (slr dsp+nds sto dm4 add (-slr-dsp-nds+1 trn dm4 slr scw load ddx, tra rnw load ct, trn pd1 load tt, tra pds llr t tra cfc |Pick up dummy symbols pds, load ddx, tra rst clc add chc trn rst clc pd1, add syl com trn ids add let com trn ids add liu com trn ids pd2, add sym tra .+2 |Define new dummy symbol dd, slr ddx ala add dsk add mon sto dsk com add (-add sto dd1 com add (sto dsm+nds trn tmp lcc dd1, xx cla add dd1 add (-dsm+1 ddx, xx |Search for dummy symbol sds, slr sdx load sd1, add dsm ala add sdx add one sto sdy sd2, lac sd1, xx trn sd4 sd3, clad sd1 add one sto sd1 add dsk trn sd2 clc sdx, xx sd4, add one trn sd3 add sd1 add (-add-dsm sdy, xx |Macro instruction storage word sw, add chc add syl trn rnw call evl add pss trn sw2 clad def trn usm sw2, llr (tra rnw mw, slr tea clc add loc add mon sto loc clad aml add one sto aml subr ss, mca |Macro instruction constant rp5, add pss trn rp7 clad def trn rp8 rp7, llr (tra rp3 mc, slr tea cla sto num call ss call sco call sco mca, subr scz, sma rp8, add (flex usc subr alu, rp7 m |Dummy symbol assignment da, add syl com trn ipa add liu com trn ipa add sym sto t3 cla add (trn ilf sto bt sto qt sto ct add (da1-ilf sto tt tra rnw da1, add chc add syl trn rnw call evl add pss trn da3 clad def trn usd da3, clad t3 call sds tra dab llr (400000 lpd da5, alr cll add (sto dsp-1 sto day clad wrd day, xx lac llr (tra rst mp, slr tea sto t3 call ss call sco call sco call sco call scz add t3 tra sm-1 dab, add t3 subr dd, da5 |Macro instruction mac, llr sp7 slr amx cla sto tcn add dsk sto dsl cla add (trn ilf sto bt sto qt add (rnw-ilf sto ae6 add (aev-rnw sto tt add (ae1-aev sto ct load ma1, slr dsv slr ae4 llr loc lcc ala ma1, xx cal add ma1 add one sto ma1 add (-slr-dsv-nds+1 trn ma1 llr t tra cfc |Evaluate macro instruction arguments aev, load ae6, tra am ae1, call evl add pss trn ae3 clad def trn usp ae3, clad ae4 add one sto ae4 add (dss-dsv-slr sto ae5 sto ae9 com add (sto dss+nds trn tmp llr wrd ae4, xx |slr dsv clad dsi trn ae5 add mii trn ae7 clc ae5, xx |sto dss ae6, xx |exit ae7, cal call dd ae9, xx llr ae6 tra mp |Assemble M-I into program am, add one sto def ami, cla sto wrd am1, add (tra aw call tc add (tra as call tc add (tra ac call tc add (tra aa call tc am5, add dsl sto dsk load bs, tra rnw tra rst aw, clad wrd amx, xx |add mai table sto wrd clad amx add one sto amx clad mii trn awm add (trn ami-1 sto bs tra tb3 awm, subr mw, ami |Assemble argument into macro instruction word as, add amx sto as1 add one sto amx cla as1, xx alc sto t1 as0, lac sto t2 clr add (000377 cyr trn .-1 as9, cll+amz-opr trn am1 as2, cyr ala add mii trn tds lac cll add (add dsv-1 sto as5 lac clr trn as3 add (opr trn as4 as3, add (com-400000 as4, sto as6 cla as5, xx |get dum sym as6, xx |sign op add wrd sto wrd as7, llr t1 lcc trn am1 sto t1 add t2 tra as9 |Assemble macro instruction constant ac, add amx sto ac1 add one sto amx cla ac1, xx add wrd sto wrd clad mii trn acm call co llr num slr wrd tra am1 acm, subr mc, ami |Assemble macro instruction assignment aa, add amx sto aa2 add one sto amx cla aa2, xx alr cll add (sto dsv-1 sto aa3 clad wrd aa3, xx clad mii trn ta tra ami |Translate dummy symbol assignment ta, clad dsi trn ta6 lac trn ta2 add (sto dss-1 sto ta4 cal call dd ta4, xx subr mp, ami ta2, add (add dss-1-400000 sto ta4 cla tra ta4 ta6, lac cll add (sto dss-1 sto ta7 clc ta7, xx tra ami |Translate dummy symbol specification tds, lac clr sto tda trn td1 add (opr tra td2 td1, add (com-400000 td2, sto td4 lac cll add (add dsv-1 sto td3 add (dss-dsv sto td5 cla td3, xx |get dum sym val td4, xx |sign op add wrd sto wrd cla td5, xx |get spec trn as7 ala add tda lpd subr prs, as7 |Store dummy symbol specification ss, slr ssx clad dsn trn ssx call sco call scz clc sto dsn add dse llr ssx tra sm ssx, xx |Store word in macro instruction list sma, add wrd llr tea sm, slr smx ala add mai sto sm1 add one sto mai lac sm1, xx llr pss lcc trn sm2 add mai add (add com sto hih add low trn sce sm2, clc smx, xx |Store code bit sco, slr scx llr (400000 tra sc1 scz, slr scx cal sc1, cla add scn add one trn sc4 cla add scw sc3, xx lal sto scw cal call sm sc2, add sm1 sto sc3 load scn, -21 tra scx-1 sc4, sto scn lac add scw cyl sto scw cla scx, xx |Test code bit tc, sto tcy slr tcx clad tcn add one trn tc3 tc1, clad amx sto tc2 add one sto amx load tcn, -21 cla tc2, xx tra tc5 tc3, sto tcn llr tcc lal tc5, sto tcc trn tc4 clc tcy, xx |zero exit to subroutine tc4, clc tcx, xx |one exit, return to am. |Set to pick up constant value ca, add cas ct, trn c ala add cni com+lad-opr trn ilf call evl add pss trn lp3 clad def lp3, sto tdf llr wrd slr twd cla sto wrd add one sto def sto syl sto cni llr tt slr t4 llr ct slr t5 add (trn rp1-1 sto tt add mon sto ct tra sp |Save constant and reset d, add cas trn rl clad cni trn ilf rp, add one rp1, add (tra rp4+1 sto rp4 llr t4 slr tt llr t5 slr ct call evl add mii trn rp5 llr (tra rp3 co, slr cox clad one add nca sto nca clad pss trn co8 clad def trn usc clad con llr wrd tra co9 co2, lcc co3, xx trn co6 co4, clad co3 add one co9, sto co3 add nco trn co2 llr co3 lcc sto nco add mon sto hih add low trn sce lac add (slr-add sto co5 llr wrd co5, xx tra .+3 co6, add one trn co4 llr con lcc co7, add co3 xx |add cor table trn .+2 co8, sto num cla cox, xx rp3, add tdf sto def cla sto liu sto chc sto let sto dsi add twd sto wrd clc sto cni sto dsn add (opr sto sgn clc rp4, xx tra tt tra ct tra r |Psuedo-instruction constants cns, add mii trn ilf llr loc lcc cn6, xx |sto cor table (first entry) sto tlo clad nca add aml sto aml clad pss trn cn5 load bs, tra cn4 clad con tra cn8 cn2, cla cn3, xx |add constants list sto wrd tra tb4 cn4, clad cn3 add one cn8, sto cn3 add nco trn cn2 cn5, llr loc lcc cn7, xx |sto cor table (second entry) clad tlo add nca sto wrd load bs, tra cn1 tra ba1 cn1, add sv sto bs cla sto nca add cor com add one sto nco cla add cn6 add (2 sto cn6 add one sto cn7 add (add-1 sto co7+1 add (-add-cor-ncn-ncn+1 trn rnw add (flex tmc-1 subr alm, alh |Ignore to tab or carr ret it1, cyr add (577575 trn it2 add (776177 trn it2 itt, subr rch, it1 it2, add one trn itt tra rst |Error stop entries ust, add (flex usw subr alu, tb3 usb, add (flex usl subr alu, bnp usq, add (flex usp subr alu, q1 uss, add (flex uss subr alu, s2 usm, add (flex usm subr alu, sw2 usp, add (flex usa subr alu, ae3 usc, cla sto wrd add (flex usc subr alu, co8 i, add (flex ich subr alm, r ilf, clad (flex ilf subr alm, itt ipi, add (flex ipi subr alm, itt mdt, clad (flex mdt subr alm, rnw usd, add (flex usd subr alu, da3 ids, lro slr sym subr alm, pd2 mdm, add (flex mdm subr alm, dmi ipa, clad (flex ipa subr alm, itt sce, clad (flex sce subr alm, alh tmp, add (flex tmp subr alm, alh tmm, clad (flex tmm subr alm, alh uds, llr sym slr r2 add (flex uds llr ex |Error identification routine alu, slr aly tra alb alm, slr aly lro slr r2 alb, type add tb pna add loc com trn al1 subr opt, al2 al1, cla print flex ind al2, add tb pna add asi trn al6 add asm trn al3 amz trn al6 al3, pnt pnt pnc add aml trn al4 ala add (char r+ tra al5 al4, com amz trn al6 ala add (char r- al5, pna lac call opt al6, clad api trn al7 amz trn al9 al7, ala add tb pnt lac type add syn type add r2 trn .+3 amz trn al8 als, clad tb pna add r2 type al8, add cr pnc tra rsq aly, xx al9, clad r2 trn .+3 amz trn al8 clad tb pna tra als |Indicators and variable storage pss, 0 |-0 = pass 1, +1 = pass 2 hih, 0 |upper limit of macro instruction and constant list nfc, 0 |test word for end of flexo word list r2, 0 |last undefined symbol fwd, 0 |flexo word from input tape fwb, 0 |flexo word from list wrd, 0 |partial sum of syllables of word num, 0 |number = value of syllable. sym, 0 |symbol = flexo word for symbol. def, 0 |-0 = indefinite word, +1 = definite chc, 0 |character count of characters in syllable syl, 0 |0 = at most one plus syllable, +1 = otherwise. let, 0 |0 = no letters in syllable, -0 = at least one letter api, 0 |last psuedo-instruction for error stop asi, 0 |relative location: +0 = yes, -1 = no asm, 0 |alarm symbol for relative location aml, 0 |location relative to above symbol nsm, 0 |for establishing above symbolic relative asa, 0 |location from location amn, 0 |assignment cas, 0 |-0 = lower case, +1 = upper case liu, 0 |+0 = no letters in uc, -0 at least one in uc. cni, 0 |constant syllable indicator con, 0 |current address in constant list nco, 0 |number of distinct constant values nca, 0 |number of constants twd, 0 |word ) tdf, 0 |define ) temporary. tlo, 0 |temporary for current location mii, 0 |macro instruction mode indicator mdi, 0 |define indicator syn, 0 |second three characs of M-I name spz, 0 |psuedo instruction switch tea, 0 | dsi, 0 |dummy symbol indicator dsn, 0 |dummy symbol odd-even indicator dse, 0 |dummy symbol temporary scn, 0 |temporaries scw, 0 |for code tcn, 0 |word tcc, 0 |subroutines dsk, 0 |dummy symbol count dsl, 0 |temporary for dum sym count wsa, 0 |dummy symb sgn indicator tda, 0 |translator temporary t, 0 t1, 0 |temporary t2, 0 t3, 0 |registers t4, 0 t5, 0 | mon, -1 one, 1 tb, char r cr, char r constants psi| sto psi+npi+npi+npi+1 576327 357577 trn sta 245577 377157 trn oct 723347 554237 trn dec 566527 115757 trn fx 564237 723057 trn ch 542377 560137 trn noi 723707 754637 trn dfn 637357 620577 trn ter 502677 576327 trn cns mai| sto mil+1 | Initial symbol table dsm-nsy-nsy| ist, -flex opr 600000 -flex cll 631000 -flex clr 632000 -flex cla 700000 -flex clc 700040 -flex lro 600200 -flex xro 600001 -flex cal 700200 -flex cax 700001 -flex alr 640200 -flex alo 640220 -flex alc 640260 -flex axr 640001 -flex axo 640021 -flex axc 640061 -flex xlr 600300 -flex lac 700022 -flex lcc 700062 -flex xac 700120 -flex xcc 700160 -flex cyl 640030 -flex cyr 600600 -flex shr 600400 -flex lal 700012 -flex lar 700622 -flex xal 700110 -flex all 640230 -flex alx 640031 -flex ixl 600303 -flex lad 600032 -flex xad 600130 -flex iad 640232 -flex anl 640207 -flex ano 740207 -flex ana 740027 -flex orl 640205 -flex oro 740205 -flex ora 740025 -flex rxa 700322 -flex rax 640203 -flex lcd 600072 -flex xcd 600170 -flex com 600040 -flex lpd 600022 -flex cry 600012 -flex tac 701000 -flex tbr 702020 -flex pen 603000 -flex rpf 706020 -flex cpf 607000 -flex cpy 620000 -flex r1c 721000 -flex r3c 723000 -flex dis 622000 -flex dso 662020 flex lax 360000 -flex tlv 540000 -flex tpl 560000 -flex ial 740222 -flex prt 624000 -flex pnt 624600 -flex pno 664020 -flex p6h 626600 -flex p7h 627600 -flex p6s 726000 -flex p6b 766020 -flex hlt 630000 -flex typ 625000 -flex p6o 666020 -flex p7o 667020 -flex add 200000 -flex ado 60000 -flex adx 220000 -flex amz 640050 -flex arx 640601 -flex aux 260000 -flex bsr 604000 -flex laz 700072 -flex ldx 240000 -flex llr 300000 -flex llx 320000 -flex lxr 600003 -flex r1r 721600 -flex rds 604004 -flex rew 604010 -flex slr 100000 -flex slx 120000 -flex spf 647000 -flex sto 0 -flex stx 20000 -flex sxa 40000 -flex tix 460000 -flex tra 500000 -flex trn 400000 -flex trx 520000 -flex tsx 440000 -flex tze 420000 -flex wrs 604014 -flex stz 140000 -flex lda 340000 start 3