Pascal News
Pascal News
Pascal News
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2353<br />
2354<br />
2355<br />
2356<br />
2357<br />
2358<br />
2360<br />
2361<br />
2362<br />
2363<br />
2364<br />
2365<br />
2366<br />
2367<br />
2368<br />
2369<br />
2370<br />
2371<br />
2372<br />
2373<br />
2374<br />
2375<br />
2376<br />
2377<br />
2378<br />
2379<br />
2380<br />
2381<br />
2382<br />
2383<br />
2385<br />
2386<br />
2388<br />
2389<br />
2390<br />
2391<br />
2392<br />
2393<br />
2394<br />
2396<br />
2397<br />
2398<br />
2399<br />
2401<br />
2402<br />
2403<br />
2404<br />
2405<br />
2406<br />
2407<br />
2408<br />
end<br />
else<br />
if iop[m=PAGl=nll then error(+0163) else<br />
gen 1(op lae ,argv[ord(m=PAG)l. ad);<br />
gensp(m); asp: =boolptr; {not for PAG}<br />
end end;<br />
procedure callnd(fsys :sos; m:libmnem);<br />
label 1;<br />
var lsp:sp; sZ,int:integer;<br />
begin with a do begin<br />
if not formof(asp,[pointerl) then asperr(+0164) else<br />
if asp=stringptr then asperr(+0165) else<br />
asp: =asp ..... el type;<br />
while find3(comma,fsys,+0166) do<br />
begin<br />
if aspnil then {asp of form record or variant}<br />
if aspA.form=records then asp:=asp·.tagsp else<br />
if asp' .form=variant then asp:=asp' .subtsp else asperr(+0167);<br />
if asp=nil then constant(fsys ,lsp,int) else<br />
begin assert asp' .form=tag;<br />
int: =cstinteger(fsys ,asp' .tfldsp,+0168); lsp: =asp' .fstvar;<br />
vb1le lspnil do<br />
if lsp' .varvalint then lsp:=lsp' .nxtvar else<br />
begin asp: =lsp; goto 1 end;<br />
end;<br />
1: end;<br />
sz: =sizeof( asp); int: =intsize+ptrsize;<br />
if sz>int then int:=(sz+int-1) div int * int;<br />
gen1(op_loc ,int); gensp(m)<br />
end end;<br />
procedure callpg(m:libmnem);<br />
begin gensp(m); if not formof(a.asp,[files]) then asperr(+0169) end;<br />
procedure callrr(m:libmnem);<br />
begin<br />
if not formof(a.asp,[files]) then asperr(+0170) else<br />
if a.asp=textptr then gen1(op 10c,O) else<br />
gen 1(op loc ,sizeof( a.asp· .fIltype»;<br />
gensp(m); -<br />
end;<br />
procedure callmr(m:libmnem);<br />
begin teststandard; gensp(m);<br />
if not formof(a.asp,[pointer]) then asperr(+0171)<br />
end;<br />
procedure callpu(m:libmnem; zsp,asp,isp :sp);<br />
begin fsp:=desub<br />
'"<br />
N<br />
\I1