//D0Prin1a.Bcpl Subroutines used by D0Prin1.Bcpl // Last edited: 20 October 1981 manifest [ get "d0regmem.d" ] external [ // MASM PutsCSS; @WssCSS // MSYM SearchBlocks // MCMD CmdCommentStream; WnsCSS // D0VM LookUpVA // Defined here CPrint; PrinC; PrinR; PrinVA ] let CPrint(Str1,Str2; numargs NA) be [ if Str1 eq 0 then return WssCSS(Str1); if (NA > 1) & (Str2 ne 0) then WssCSS(Str2) ] and PrinC(Str1,Str2; numargs NA) be [ if Str1 eq 0 then return WssCSS(", "); WssCSS(Str1) if (NA > 1) & (Str2 ne 0) then WssCSS(Str2) ] and PrinR(RPred,Rsrc,ALUAvec,SFtype,SIZEcount,POSmask; numargs NA) be [ if NA < 4 then SFtype = 0 WssCSS(selecton SFtype into [ case 0: "" case 1: "LdF[" case 2: "RSh[" case 3: "Dispatch[" case 4: "LSh[" case 5: "LCy[" case 7: "Zero" case 8: "FixVA[" case 9: "Nib0Rsh8[" case 10: "LHMask[" case 11: "RHMask[" case 6: case 12: "Form" ] ) if SFtype eq 6 do PutsCSS($-) if (SFtype eq 6) % (SFtype eq 12) do [ WnsCSS(POSmask); PutsCSS($[) ] if SFtype ne 7 do [ CPrint(RPred) test Rsrc ne 0 ifso WssCSS(Rsrc) ifnot SearchBlocks(CmdCommentStream,RMx,ALUAvec) if RPred ne 0 then PutsCSS($]) ] switchon SFtype into [ case 1: case 3: PutsCSS($,); WnsCSS(POSmask); PutsCSS($,) WnsCSS(SIZEcount); PutsCSS($]) case 0: return case 2: case 4: case 5: PutsCSS($,); WnsCSS(SIZEcount); PutsCSS($]); return case 7: return case 6: case 8: case 9: case 10: case 11: case 12: WssCSS("]"); return ] ] and PrinVA(BA,Point) be [ let AVec = vec 1; AVec!0 = 0; AVec!1 = LookUpVA(BA) test AVec!1 ge 0 ifso SearchBlocks(CmdCommentStream,IMx,AVec,Point) ifnot [ PutsCSS($a); WnsCSS(BA) ] ]