From 78276e24576a3a9a699e2bb9deaf9f5ed2dc83c8 Mon Sep 17 00:00:00 2001 From: davidly Date: Mon, 1 Jul 2024 06:10:13 -0700 Subject: [PATCH] microsoft pascal v3.31 --- Microsoft Pascal v3.31/8087.LIB | Bin 0 -> 29184 bytes Microsoft Pascal v3.31/ALTMATH.LIB | Bin 0 -> 39424 bytes Microsoft Pascal v3.31/CEXEC.LIB | Bin 0 -> 13824 bytes Microsoft Pascal v3.31/DECMATH.LIB | Bin 0 -> 27648 bytes Microsoft Pascal v3.31/DEMOEXEC.PAS | 54 +++ Microsoft Pascal v3.31/E.PAS | 42 ++ Microsoft Pascal v3.31/EMOEM.ASM | 396 +++++++++++++++++ Microsoft Pascal v3.31/EXEMOD.EXE | Bin 0 -> 11038 bytes Microsoft Pascal v3.31/EXEPACK.EXE | Bin 0 -> 10854 bytes Microsoft Pascal v3.31/FINK | 82 ++++ Microsoft Pascal v3.31/FINKXU | 96 +++++ Microsoft Pascal v3.31/FINU | 137 ++++++ Microsoft Pascal v3.31/FLOAT.PAS | 52 +++ Microsoft Pascal v3.31/LIB.EXE | Bin 0 -> 28716 bytes Microsoft Pascal v3.31/LINK.EXE | Bin 0 -> 43716 bytes Microsoft Pascal v3.31/LVARSTCK.OBJ | Bin 0 -> 442 bytes Microsoft Pascal v3.31/MATH.LIB | Bin 0 -> 40448 bytes Microsoft Pascal v3.31/MM.PAS | 76 ++++ Microsoft Pascal v3.31/NULE6.OBJ | Bin 0 -> 586 bytes Microsoft Pascal v3.31/PAS1.EXE | Bin 0 -> 97162 bytes Microsoft Pascal v3.31/PAS2.EXE | Bin 0 -> 112080 bytes Microsoft Pascal v3.31/PAS3.EXE | Bin 0 -> 27030 bytes Microsoft Pascal v3.31/PASCAL.LIB | Bin 0 -> 79872 bytes Microsoft Pascal v3.31/PASEXEC.INC | 101 +++++ Microsoft Pascal v3.31/PRIMES.PAS | 30 ++ Microsoft Pascal v3.31/README.DOC | 630 ++++++++++++++++++++++++++++ Microsoft Pascal v3.31/SIEVE.PAS | 32 ++ Microsoft Pascal v3.31/SORT.PAS | 59 +++ Microsoft Pascal v3.31/TAP.PAS | 82 ++++ Microsoft Pascal v3.31/TTT.PAS | 297 +++++++++++++ Microsoft Pascal v3.31/djldos.OBJ | Bin 0 -> 353 bytes Microsoft Pascal v3.31/djldos.asm | 121 ++++++ Microsoft Pascal v3.31/m.bat | 6 + Microsoft Pascal v3.31/mspv3.exe | Bin 0 -> 24410 bytes Microsoft Pascal v3.31/tttmsp10.exe | Bin 0 -> 23310 bytes 35 files changed, 2293 insertions(+) create mode 100644 Microsoft Pascal v3.31/8087.LIB create mode 100644 Microsoft Pascal v3.31/ALTMATH.LIB create mode 100644 Microsoft Pascal v3.31/CEXEC.LIB create mode 100644 Microsoft Pascal v3.31/DECMATH.LIB create mode 100644 Microsoft Pascal v3.31/DEMOEXEC.PAS create mode 100644 Microsoft Pascal v3.31/E.PAS create mode 100644 Microsoft Pascal v3.31/EMOEM.ASM create mode 100644 Microsoft Pascal v3.31/EXEMOD.EXE create mode 100644 Microsoft Pascal v3.31/EXEPACK.EXE create mode 100644 Microsoft Pascal v3.31/FINK create mode 100644 Microsoft Pascal v3.31/FINKXU create mode 100644 Microsoft Pascal v3.31/FINU create mode 100644 Microsoft Pascal v3.31/FLOAT.PAS create mode 100644 Microsoft Pascal v3.31/LIB.EXE create mode 100644 Microsoft Pascal v3.31/LINK.EXE create mode 100644 Microsoft Pascal v3.31/LVARSTCK.OBJ create mode 100644 Microsoft Pascal v3.31/MATH.LIB create mode 100644 Microsoft Pascal v3.31/MM.PAS create mode 100644 Microsoft Pascal v3.31/NULE6.OBJ create mode 100644 Microsoft Pascal v3.31/PAS1.EXE create mode 100644 Microsoft Pascal v3.31/PAS2.EXE create mode 100644 Microsoft Pascal v3.31/PAS3.EXE create mode 100644 Microsoft Pascal v3.31/PASCAL.LIB create mode 100644 Microsoft Pascal v3.31/PASEXEC.INC create mode 100644 Microsoft Pascal v3.31/PRIMES.PAS create mode 100644 Microsoft Pascal v3.31/README.DOC create mode 100644 Microsoft Pascal v3.31/SIEVE.PAS create mode 100644 Microsoft Pascal v3.31/SORT.PAS create mode 100644 Microsoft Pascal v3.31/TAP.PAS create mode 100644 Microsoft Pascal v3.31/TTT.PAS create mode 100644 Microsoft Pascal v3.31/djldos.OBJ create mode 100644 Microsoft Pascal v3.31/djldos.asm create mode 100644 Microsoft Pascal v3.31/m.bat create mode 100644 Microsoft Pascal v3.31/mspv3.exe create mode 100644 Microsoft Pascal v3.31/tttmsp10.exe diff --git a/Microsoft Pascal v3.31/8087.LIB b/Microsoft Pascal v3.31/8087.LIB new file mode 100644 index 0000000000000000000000000000000000000000..0fed01cc2a4cc2a3429a972f5e4bb2b14a438f8d GIT binary patch literal 29184 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 K8UH``_rCya*}(7s literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/ALTMATH.LIB b/Microsoft Pascal v3.31/ALTMATH.LIB new file mode 100644 index 0000000000000000000000000000000000000000..c2dc9821798bf2e38f1905dab281edff98fb4eb2 GIT binary patch literal 39424 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 literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/CEXEC.LIB b/Microsoft Pascal v3.31/CEXEC.LIB new file mode 100644 index 0000000000000000000000000000000000000000..f8abb8ae4ced8f49cfedbf11a79074c522511bbd GIT binary patch literal 13824 zcmeHOeRLF6mcLciUES$?2MiD)NrSd%1e6S}3S#(30U{w1ER0GrF@z7vm!0Ys9EC86 zXs1F3b;ebvv)eOz&LDmq&sCAOe?AMqG-vVLeAC=nOK0(O z=Pg-$Z=t!A9?Ydn^Y2@l@`42>P5_=|5-~L&z|1izFPXrkvdf#}fG;hjcHoTfI$!|q zl}{-pyhFA)nFAsrKo?+H+O#)ynrKOrASnj7yD4;|& z>aD=9sHs?2Q9d|40WWbV;1m+@8WQkSNWf_jS6W(Lw`P@8_7K=gOIOs?IV+^Hb(Fob zs?1%srjn91byZ~#*EqpkT3TCI3nzUOX{_?G|Lp1-DO)R7_E2R-c1?Bm+{H!NH&0%d zXuF0ay~|g|>ffE)UZ{QT+_`dh{Y)I}M@LEt?*O#L1?_$YdP_I;*0WBrVFM46)ekTU zpf^sxo2_8>0VgELVtT`#WOFj?G#x&1_~i6%wLTA<7F1)qguwV9WUPqE$z8#W~V#t9=Ra> z>?_4tT32aQS3W|uo7=e#s$=0Zld^JEUDVwGzsFDI^?T02v#(^ypVKQ>iY#QjCJSTn zmx;gZ*RXA?T#$ezsLf11>z#UN%Lv-D-m3?Em(-LnYu4FU-g^+9*_{n%w_^e`1wV6r z&^|+z*s1OE;im5QDj_PT=|WZmP6kM+OETqjfR;=E|AcF?&HIbx{!Lw5fkcse2U|Xt zkAE*^q3+^fEo|AF`)9|#d8R@cuY6|_Uac1n^xBs+?6F=}MDC;_%S641W1pqD8EB8F%PC1OX1KbC`cYvACUGeKn?~^}j-j}m)r|DJblQ_Sc zeE5szy@M@>+inc0X*g#$tY3$7$iu#OOI>vQ~&{$1~M4=!rNDlEieA>&=LjHZQ_yB{#K z_m8rOxMFJ(656OCOV?BQdA-~_s*0Fd;GF=nmETr^eJ-sHKVH=$ehN<3) zCY0gP*x@K(?ViZs;8T4ZSn6ua9<8pdUHkkr0K<+Z6cx@|R&aNrW=J(Ft6Nsh)|%%m zE+|@RDxF}&>bCT5gjXZeuDwOAONo@b3?EH7DsRXG*yujoaYIFy;;OnFQ` z)81^S@hvNNO0K$!6<{qjWD2F+wNT*8GzNN$kdR)ex^1f4s=9g2bjg2Re&8vu83Jh{ zH__0CP!j;>BA-n5xlVGHmq}j^Pa&p}LVRz0ScE|M5V$nbuuRNUHt_PFa@%*SYX6&y z{J{7}>r{7s^a%&3fUKCAW$-!8*41XxAjXW?C|d709;$2=5_e5S_paCXprF%V$n*Mj)B&aRAzJ zjV(z04pZ*?y~sB%yf+!-X_GxzRd%u3eR4ClRoE6EwBNT6Nely>qP1;d&_20^T9L7p zEXoJKs*|bT$<(n2YisvumgS`-PE*^WpdGPku6HviX@p0kbv(+%n+cR__1pD&<|Mo& zfd*fhpv*zDgeW%O#4tLPt-uVdQ;9bolt=J}p#KxJ?TSY)+CoL2ql{Ml<*)Uk+wo?C z#@$FK-rbsl--1lp&j1qt{uAAl4&ZZp8ksec<|%yV}l1K z8KA4X7yy3_bs5H6cSYq8ycP3@gSX_(Ox%UY$vj4a*uacjiBd>kEg>ZMdw9D!25&8; zRb`cxHRY)Cgi7cYAp%QIEv0AGu1ANd!s)E82}5!Prf`9*t&`SbJu8z+Qx+#<3m=9M4YEpSk6->q^pw7nwM@qH~(R@FM{B++tjE=Pa zXF?>h9M& zjWtaTN|Hx7-}4#h*+wOk*=%?*4GJ6XC{=Y|Qr#CrWqMYq=w@XaV#Rc7U84Iy4T@EB zl=PJuD+S3IGLX6yT2bArnB_NP%R@gV((d1DEJhwvtmLwAo=kG8w-|!k#KhoB`16SI z!Aj8_d`L8P7PWRR68X;g-rx)|zH>Y#$9aPz#iXE3G%Me=2F{3yflov>@PU{R*d@jX zej##!D$x{JBH9Aih;adnXx$nzS%medc>v#r78&V}@fWi9tDTPun!Up);&;cX)%Jl`@6pc@F z@(aXSOXdv+pK?&viQ_oLr&N+UgYfArrL2Tcto|i`51-b?;8O^C^f*Weh77NYV5p{U z<(f*umCJD~j9!RF#&-=tqc4$JA_z^NQz|UDJHK>6fv`CC;U-^#4obRG-Q!J#{k+KS zH;L?iRx~3_nL2!SPFIkIQzK=;7B3{YMrh0JR}{ubXTc-bJR%~AO%@Y8!YPkJJp)Sw_c7W#VsEDL>k9-)7qFgOC_lED_91xG!ad2q$41%nM6 z2Gxxx@CuKoYj_dD4^9{~bHE7w4I45+8coD1if3W#`deA($G}YpPY{jHdBpQdNsThj2?!l5txF&ZHO3yClR#caU7^A8mit-?VBILO8!I*CZoVJs!FKyi>h$3Nf^A; z?s(dwjlEpb7a2;);%Gwes+ZlNDkW4DOQ}MiEDYih$G5u<8M$2+oU@A#ylJC4wn4ba zMMgGOY`qsDLl(yxa#Kltx?Nn)C#V_oOgQ(vlo)P3TkDiZ$Iom+r6EO$j1X4(67sMM{lFR@=0HW6qc z^=Z|HtILv2v(i&YvepOn!g^x-g~f{`_t>3tjyo)9euKNGD7cZ=}{ePVpqGa}d3 z?CshtvR#|J2dhNeL91x(Y!}U)e*C@d4Yr7uU?XO&Zw)?x$$KyfBBy-sRlXHjrOzAq z8tudHL_V+$ZNpQdP5Ei7QiWDzwKs4VK8+Dg%1HdBcyA6d!4M7ryfp*>$zJGGrvLdL zh27!!{QL6f43C}F5&E?d`uPayBJ9jW=*JHa{n{@>zw*kOx)^R1iFRBG8i&H*73rKF z5eQSa2%8Iq#={YAd}VlD=F*y4ydTj^ol{K<8v(FTX)SjqCS_=X6d+Yeaw6X$&zi1Dbf` zWOhH)BXx?c{Y9R{_3YL#Y6KVa@-jwt+#{aAMm{kJ7`3uQbssm{kDv<%#Hp7Pk#{KL z7kRF`qWD$x%kbj)p^C@>qsp6lid0!RE{ixOyhpTd*(|E~&CTLD|7a*o$1hghUxb9p zbKQ<*jx4 zlR>%~K~WYj?lfr~n;F7*y=-sd4ij?i!F1i4MA~ANl72`1or_!+NBu_Tekomlz8`1f zBeZ23nMIiD0=1xzUNp@!zp&GK_=_9b9Zic(H=O1=Ui1hjJ>n^UHoUk5J2+`{pcjsd z6t-%GuNO{^5l>+=oc3mXCpN=!9g~0^==KPopfg?li7b4Qb0}OeIZ`l*>+lHOSUEM4 zmqK}GFz>2J-bl(jhIykRdFhmQiFPPxqR8W*Y1krsN*>60dQJ(uEXJ&5c!Z;QE*#P; zO`I$o?XA>^_Aw2ENh)qPTRA64C-sqRlhy;vhW-;{^F(6j39GrGw12!FY9`|2q) zKY{#xoww78fL-McuE4j&;>cj0cokCmkwFksk6sLZu}wYwsud*mx7knQ z-pI8a+`)m%yvc22;2qqT!X2R9*Wm_`$hQ?>NT!a%$OuuN{nvu|4luhcen_R=uP$7K z%rmb7DnExsVQt_)$?^=2uOVqm-?O<(~&>Fl0i#Yc_=ZCpL`}sZfu1Oei zG-AmEN2v2VgZB7#DV=uoGF-_RiPQtlx$n~sN88Mx9bJWMxY+h?$4)7T%^)|>#X`3= z;RHajryybKX_7*9S+E3#v$^^&FKLp@2z^@2>sy}tfj&N=VvH*tgW?QG$@T9u&uJgc z&__Rq-4=RfP%Ic4x)GF7c*_ChI*cSW(k9X8&{#-YLrXD#5;U&HtawIor!gi5l#P0w zS19bXgDxLx8IAvi;lswSv1kD(y?Vud9$#P7UOzbs8|=JVOLyk#x7k{$CrhxRv^4?6 zHS8Y1B4iN^OWs6TE$ZQl9DuD`Q?Udo6lrFi>mf77f(&L6iTBi&Mf+1)d|ez?e4RX| ziBC|x=WSBtc=D$-FX|s*6w+mk;&LC#Qo5=_LWfE>=u!=ZbSM;raUYF4P(V6j?2Y(5 zM&%=)D zn;v0%v-rAZu+&@7RH+zl45Md^?Zybpr99Vk&7e_ugLO?&N~~ya9+Vt-1?2W+Z)Ig;}tv7^s)FG<;8f7 zEh7|u(Bd_<=)9gB!oKzM6T037hllXjQFtVd7Dmhg4_{6wJVN_3Ha<%phy+Qr4V$PP znVP6r4XQbS7?#Y4AK`*HFg$r4BYAd_Jh2;ySK;cx=tS)ri2|eeiEFAc`5LYVTp{!) z`Zh#F#_bwyx*YY%OsAWVKkpjR+>K6XA}Vl8H^tj20H52An>j8M26<*`rEgbUXA0zl znBAnC{@WGlob9|TzF_*_TsAElbXC_}6`GG~&CmvbOagzOT$B_eHHD$YTir9@P=;;4PR&< zF|yr;`-6Ho8PCAnM9I+hE8>q4`#IqoXN(_i#FFW8+O*wL?SfWin>PiNq;#|$BWP=M z6n@QbjVQhDUIBa^D?5Dv&A*O}J<|s=ei4C+n`lg|z#_s4p60OgT zL2qkmDDoAH+61``srTL7_7^p%0q;l%EEmmz zNr)L~2pEa@i}UU_bjh$p0M0AS2l7AiFpmyTo&HGb^Z*S!Lz{caq0PPVG@#K(s)p** z9X_+RG>d&lB6@WmBSeg3&TU79!t*}JTdc&hvg%B2alJNrTQ6})m+-Z?togH+uFRGa z+eNuw9+dZgHMTABbzG5SW@Nam4pK{|*Zj13-m#PNzMMT-r6qeCzGEay{S2FQs`u+G zYAlZ|7V^7+J=x&0ZNc?Qy*dA|!`3^6I3t9!I*{sR;JE`v8n5#}I(V>~0b+kP$-0Ah zrM34N?b@Pcy8hJbzsq|kC{|hyDYzUI2d<7r+&5-!hQ=wBv4qF-ICZpUo+LDQjxI0I zWj9?8;^nZxjx?_yp#1U~t2YCOV3#$#=~_V3^)*db3QZRn(?wgS5VdtW-M5IQ1UEHX z_F@ziH``MX3(sz+t?hLA!cOk+H{ADcF-`mHzqA}W=CEGX`_}{a49PFfZFe+YB{6vi zUh>Aneuj{Z$4`2}P(vN9@vz&{P~a$p+Sq02I}Q7QOK+GOIf_1Ui~$7^fb(5#C>iZ9 z7?w)z$jck(#>jnD1Y~KAM-Q{s|N1(qqAD1TPesK=OY;{E2cHU1l!;ZuF87j9nZz!? zq0~RZE+3A;r&v@Xvv36p8K#$^09G`r)oEXJMRMu)jVEQ8vv^TaVg4MLQm)fW+(4`< zt6rgPBt8fS(5%MNObgOXYm)Dg5Y0Sp(9BpuDD-*6ems$gA@Jss^N597go$UuGK0U@@C|+t1tR%TF&y^6x!pw44Pe1tMk%t*YOrFgdNIl0Q^^}eg=|nb} zfs8XVhH>gex`bBPBKSN)Uo*;v6k025G{i?W^rAlnd+?9Ni@Iwpa#(Cp@P#RCRLCk4 zgBs@NAd$R1mRIJeBuW&mjFyD!sZ((mK*Rdw-XBA7F%rm`qNVdTZ*U@V%261@O~YTJ zH)ujDFo?fCkyk!zRgSa{dMK zgLb2pnC0(7%R|?iX!@p|r;*laZvNWgVGss=S>`5M0W4uql7T^JO*Nu+A9lvD;gA5p z&yd$LEb@>wHCm7W;OY=K5Pu;4gWxDt46pZJQ18E_-ec%&^K2qLhRgXwwks@DgcPBb zb5)hqt;OSsu+jITfiart!0l+=ueXu+J@s@Ox$#a>?xsgQ0x{6RfXg%$4~**>@MYf9Kf@pb+A*?+xOa+MVFMq@ zC8h~`H+==|+v+idaDefYn3nG?^G?F!e0Y$fF#*lbI#A~69{oLZwxgPkfjY@HxyfsP zJe}b$g_s)+Ew+Cq?1CFHoh*O}TSudb9U9wN2k>@yhG>4YQ%U*5o1Y&z-V{F3B;xrT zxqu(|QtqZePv5|o+|lO;R$94k`LNtovit)ps3H5JpN0ac3QL3fg8Q$=@$Rj|lV~$( z%=V!glSc4a_K+q4GQyxkG$Qd)tDbyS3Zl%^(+^@gHDqx^C*4uU^g;UDX*B%*|M!1p1V%4~U;eJ<7qD?p z=FJld%AefkcTLKNt-l&E?anpDZ^1;l}?c=roh+#+7uo|0t_E8M*8t~c!=xOOk zgYEHP(F4l%RSX^rUhTAZftiAK_728O6xLqGT8(p~b~m=BrQNmmQw*4p{n;PKw(yR@ zFnbo3)K5~_6B#WRnT~xTYthMz{aKdR7P$R5OZ-PaV@qx7X?I01lCH(}Lpy0t>M108 zO=wlH3ktmPg~LF^b}4M=f5mh` zI9%~K89VJu@I(ITe@*DWygVA_-}bKs&{{mX1h%=BPM8C^tDm|4u@M^|f$~PE8uz9} z-<`C-fOAe;rS=&(=EmVO`^z|X29DUj!THnOOZ$A5*ET@yEAYKO&lPr@6K#IWBsnqjnn|rY>`hD6uFs;8*EE~auw0vj7to)>*)_}@_JSy{Yj->tF%nX>mnm(0^*7Xx Twu7ONmS8s&dqP$IU-0)o)?iqU literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/DECMATH.LIB b/Microsoft Pascal v3.31/DECMATH.LIB new file mode 100644 index 0000000000000000000000000000000000000000..83f973ec0e3f3eb5205ded55afba59195545f4a2 GIT binary patch literal 27648 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 Vg3_oYFdlG*)@i)|`k&26{|9{F)EWQ) literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/DEMOEXEC.PAS b/Microsoft Pascal v3.31/DEMOEXEC.PAS new file mode 100644 index 0000000..9351149 --- /dev/null +++ b/Microsoft Pascal v3.31/DEMOEXEC.PAS @@ -0,0 +1,54 @@ +{* DEMOEXEC.PAS - demonstration progam for calling C library functions + * + * Microsoft Pascal release 3.30 can call large model C functions. + * Please read PASEXEC.INC for more details on interlanguage calling. + * + * To compile and link DEMOEXEC.PAS + * + * pas1 demoexec; + * pas2 + * link demoexec,,,cexec; (must search CEXEC.LIB) + *} + +program demoexec(input,output); + +{$include : 'pasexec.inc'} + +var + i : integer; + NULL : integer4; + +value + NULL := 0; + +begin + +{* invoke command.com with a command line + * + * dir *.for + *} + i := system(ads('dir *.pas'*chr(0))); + writeln (output,'system return code = ',i); + writeln (output,' '); + +{* invoke a child process + * + * exemod (display usage line only) + *} + i := spawnlp(0,ads('exemod'*chr(0)),ads('exemod'*chr(0)),NULL); + writeln (output,'spawnlp return code =',i); + writeln (output,' '); + +{* invoke an overlay process (chaining) + * + * exemod demoexec.exe + *} + i := spawnlp(2,ads('exemod'*chr(0)),ads('exemod'*chr(0)), + ads('demoexec.exe'*chr(0)),NULL); + +{* we should never see this if spawnlp (overlay) is successful + *} + writeln (output,'spawnlp return code =',i); + writeln (output,' '); + +end. diff --git a/Microsoft Pascal v3.31/E.PAS b/Microsoft Pascal v3.31/E.PAS new file mode 100644 index 0000000..e7e5539 --- /dev/null +++ b/Microsoft Pascal v3.31/E.PAS @@ -0,0 +1,42 @@ +program e; +(*$DEBUG- *) + +const + DIGITS = 200; + +type + arrayType = array[ 0..DIGITS ] of integer; + +var + high, n, x : integer; + a : arrayType; + +begin + high := DIGITS; + x := 0; + + n := high - 1; + while n > 0 do begin + a[ n ] := 1; + n := n - 1; + end; + + a[ 1 ] := 2; + a[ 0 ] := 0; + + while high > 9 do begin + high := high - 1; + n := high; + while 0 <> n do begin + a[ n ] := x MOD n; + x := 10 * a[ n - 1 ] + x DIV n; + n := n - 1; + end; + + Write( x ); + end; + + writeln; + writeln( 'done' ); +end. + diff --git a/Microsoft Pascal v3.31/EMOEM.ASM b/Microsoft Pascal v3.31/EMOEM.ASM new file mode 100644 index 0000000..a0381fe --- /dev/null +++ b/Microsoft Pascal v3.31/EMOEM.ASM @@ -0,0 +1,396 @@ +title emoem.asm - OEM dependent code for 8087 + +;-------------------------------------------------------------------- +; +; OEM customization routines for 8087/80287 coprocessor +; +; Copyright (C) 1985 by Microsoft Corporation +; +; This module is designed to work with the following +; Microsoft language releases: +; +; Microsoft C 3.00 and later +; Microsoft FORTRAN 77 3.30 and later +; Microsoft Pascal 3.30 and later +; +; This module supercedes the OEMR7.ASM module used in earlier +; versions of Microsoft FORTRAN 77 and Pascal. The documentation +; provided with the FORTRAN and Pascal releases refers to the old +; OEMR7.ASM module and is only slightly relevant to this module. +; +; The following routines need to be written to properly handle the +; 8087/808287 installation, termination, and interrupt handler +; +; __FPINSTALL87 install 8087 interrupt handler +; __FPTERMINATE87 deinstall 8087 interrupt handler +; __fpintreset reset OEM hardware if an 8087 interrupt +; +; This module should be assembled with the Microsoft Macro Assembler +; as follows: +; +; masm emoem/r; +; +; Most hardware handles the 8087/80287 in one of the following +; three ways - +; +; 1. NMI - IBM PC and clones all handle the interrupt this way +; 2. single 8259 +; 3. master/slave 8259 +; +; Manufacturer specific initialization is supported for these 3 +; machine configurations either by modifying this file and replacing +; the existing EMOEM module in the math libraries or by patching +; the .LIB and .EXE files directly. +; +; Microsoft FORTRAN and Pascal Release 3.30 +; +; LIB MATH-+EMOEM; +; LIB 8087-+EMOEM; +; +; Microsoft C Release 3.00 +; +; LIB 87-+EMOEM; +; LIB EM-+EMOEM; +; +;-------------------------------------------------------------------- + +ifndef PCDOS ; if PCDOS is nonzero, then the 8087 +PCDOS= 0 ; handler may only work on IBM PCs +endif ; and clones + +;--------------------------------------------------------------------- +; Assembly constants. +;--------------------------------------------------------------------- + +; MS-DOS OS calls + + OPSYS EQU 21H + SETVECOP EQU 25H + GETVECOP EQU 35H + DOSVERSION EQU 30h + CTLCVEC EQU 23h + +EMULATOR_DATA segment public 'FAR_DATA' +assume ds:EMULATOR_DATA + +; User may place data here if DS is setup properly. +; Recommend keeping the data items in the code segment. + +EMULATOR_DATA ends + + + +EMULATOR_TEXT segment public 'CODE' +assume cs:EMULATOR_TEXT + + public __FPINSTALL87 ; DO NOT CHANGE THE CASE ON + public __FPTERMINATE87 ; THESE PUBLIC DEFINITIONS + + extrn __FPEXCEPTION87:near ; DO NOT CHANGE CASE + + +;*********************************************************************** +; +; Hardware dependent parameters in the 8087 exception handler. +; +; For machines using 2 8259's to handle the 8087 exception, be sure that +; the slave 8259 is the 1st below and the master is the 2nd. +; +; The last 4 fields allow you to enable extra interrupt lines into the +; 8259s. It should only be necessary to use these fields if the 8087 +; interrupt is being masked out by the 8259 PIC. +; +; The ocw2's (EOI commands) can be either non-specific (20H) or +; specific (6xH where x=0 to 7). If you do not know which interrupt +; request line on the 8259 the 8087 exception uses, then you should issue +; the non-specific EOI (20H). Interrupts are off at this point in the +; interrupt handler so a higher priority interrupt will not be seen. + +oeminfo struc +oemnum db 0 ; MS-DOS OEM number (IBM is 00h) +intnum db 2 ; IBM PC clone interrupt number +share db 0 ; nonzero if original vector should be taken +a8259 dw 0 ; 1st 8259 (A0=0) port # +aocw2 db 0 ; 1st 8259 (A0=0) EOI command +b8259 dw 0 ; 2nd 8259 (A0=0) port # +bocw2 db 0 ; 2nd 8259 (A0=0) EOI command +a8259m dw 0 ; 1st 8259 (A0=1) port # +aocw1m db 0 ; 1st 8259 (A0=1) value to mask against IMR +b8259m dw 0 ; 2nd 8259 (A0=1) port # +bocw1m db 0 ; 2nd 8259 (A0=1) value to mask against IMR +oeminfo ends + +if PCDOS eq 0 +;----------------------------------------------------------------------- +; OEM specific 8087 information +; +; If the OEM number returned from the DOS version call matches, +; this information is automatically moved into the oem struc below. + +oemtab label byte ; Table of OEM specific values for 8087 + +; OEM#, int, shr, a59, acw2,b59, bcw2,a59m,acw1,b59m,bcw1 + +;TI Professional Computer +TI_prof oeminfo <028h,047h,000h,018h,020h,0000,0000,0000,0000,0000,0000> + + db 0 ; end of table + +endif ;PCDOS eq 0 + + +; Unique pattern that can be searched for with the debugger so that +; .LIB or .EXE files can be patched with the correct values. +; If new values are patched into .LIB or .EXE files, care must be +; taken in insure the values are correct. In particular, words and +; bytes are intermixed in oeminfo structure. Remember words are +; stored low byte - high byte in memory on the 8086 family. + + db '<<8087>>' ; older versions used '<8087>' + +; Some manufacturer's machines can not be differentiated by the +; OEM number returned by the MS-DOS version check system call. +; For these machines it is necessary to replace the line below + +oem oeminfo <> ; default values for IBM PC & clones + +; with one of the following. If your machine has an 8087 capability +; and it is not in the list below, you should contact your hardware +; manufacturer for the necessary information. + +;ACT Apricot +;oem oeminfo <000h,055h,000h,000h,020h,000h,000h,000h,000h,000h,000h> + +;NEC APC3 and PC-9801 (OEM number returned by NEC MS-DOS's is different) +;oem oeminfo <000h,016h,000h,008h,066h,000h,067h,00Ah,0BFh,002h,07Fh> + +;--------------------------------------------------------------------- + +statwd dw 0 ; Temporary for status word +oldvec dd 0 ; Old value in 8087 exception interrupt vector +ctlc dd 0 ; Old value of Control-C vector (INT 23h) + +aoldIMR db 0 ; 1st 8259 original IMR value +boldIMR db 0 ; 2nd 8259 original IMR value + +page + +;--------------------------------------------------------------------- +; +; Perform OEM specific initialization of the 8087. +; + +__FPINSTALL87: + push ds ; DS = EMULATOR_DATA + + push cs ; Move current CS to DS for opsys calls. + pop ds +assume ds:EMULATOR_TEXT + +if PCDOS eq 0 + push ds + pop es ; CS = DS = ES + mov ah,DOSVERSION + int OPSYS ; bh = OEM# + cld + mov si,offset oemtab ; start of OEM 8087 info table + mov di,offset oem+1 + mov cx,(size oem)-1 +OEMloop: + lodsb ; get OEM# + or al,al + jz OEMdone ; OEM# = 0 - did not find OEM + cmp al,bh ; correct OEM# + je OEMfound + add si,cx ; skip over OEM information + jmp OEMloop + +OEMfound: + rep movsb ; move the information + +OEMdone: ; done with automatic customization +endif + +; Save old interrupt vector. +; Ask operating system for vector. + + mov al,[oem].intnum ; Interrupt vector number. + mov ah,GETVECOP ; Operating system call interrupt. + int OPSYS ; Call operating system. + mov word ptr [oldvec],bx ; Squirrel away old vector. + mov word ptr [oldvec+2],es + +; Have operating system install interrupt vectors. + + mov dx,offset __fpinterrupt87 ; Load DX with 8087 interrupt handler. + mov ah,SETVECOP ; Set interrupt vector code in AH. + mov al,[oem].intnum ; Set vector number. + int OPSYS ; Install vector. + +; Intercept Control-C vector to guarentee cleanup + + mov ax,GETVECOP shl 8 + CTLCVEC + int OPSYS + mov word ptr [ctlc],bx + mov word ptr [ctlc+2],es + mov dx,offset ctlcexit + mov ax,SETVECOP shl 8 + CTLCVEC + int OPSYS + +; set up 8259's so that 8087 interrupts are enabled + + mov ah,[oem].aocw1m ; get mask for 1st 8259 IMR + or ah,ah ; if 0, don't need to do this + jz installdone ; and only 1 8259 + mov dx,[oem].a8259m ; get port number for 1st 8259 (A0=1) + in al,dx ; read old IMR value + mov [aoldIMR],al ; save it to restore at termination + and al,ah ; mask to enable interrupt + jmp short $+2 ; for 286's + out dx,al ; write out new mask value + + mov ah,[oem].bocw1m ; get mask for 2nd 8259 IMR + or ah,ah ; if 0, don't need to do this + jz installdone ; + mov dx,[oem].b8259m ; get port number for 2nd 8259 (A0=1) + in al,dx ; read old IMR value + mov [boldIMR],al ; save it to restore at termination + and al,ah ; mask to enable interrupt + jmp short $+2 ; for 286's + out dx,al ; write out new mask value + +installdone: + +assume ds:EMULATOR_DATA + pop ds + ret + + +page +; __FPTERMINATE87 +; +; This routine should do the OEM 8087 cleanup. This routine is called +; before the program exits. +; +; DS = EMULATOR_DATA + +__FPTERMINATE87: + push ds + push ax + push dx + + mov ah,SETVECOP + mov al,[oem].intnum + lds dx,[oldvec] + int OPSYS + +; reset 8259 IMR's to original state + + push cs + pop ds ; DS = CS +assume ds:EMULATOR_TEXT + cmp [oem].aocw1m,0 ; did we have to change 1st 8259 IMR + je term2nd8259 ; no - check 2nd 8259 + mov al,[aoldIMR] ; get old IMR + mov dx,[oem].a8259m ; get 1st 8259 (A0=1) port # + out dx,al ; restore IMR + +term2nd8259: + cmp [oem].bocw1m,0 ; did we have to change 2nd 8259 IMR + je terminatedone ; no + mov al,[boldIMR] ; get old IMR + mov dx,[oem].b8259m ; get 2nd 8259 (A0=1) port # + out dx,al ; restore IMR + +terminatedone: + pop dx + pop ax + pop ds +assume ds:EMULATOR_DATA + ret + + +; Forced cleanup of 8087 exception handling on Control-C + +ctlcexit: + push ax + push dx + push ds + call __FPTERMINATE87 ; forced cleanup of exception handler + lds dx,[ctlc] ; load old control C vector + mov ax,SETVECOP shl 8 + CTLCVEC + int OPSYS + pop ds + pop dx + pop ax + jmp [ctlc] ; go through old vector + +page +; __fpinterrupt87 +; +; This is the 8087 exception interrupt routine. +; +; All OEM specific interrupt and harware handling should be done in +; __fpintreset because __FPEXCEPTION87 (the OEM independent 8087 +; exception handler) may not return. __FPEXCEPTION87 also turns +; interrupts back on. +; + +PENDINGBIT= 80h ; Bit in status word for interrupt pending + +__fpinterrupt87: +assume ds:nothing + nop + fnstsw [statwd] ; Store out exceptions + push ax ; waste time + pop ax + jmp short $+2 + test byte ptr [statwd],PENDINGBIT ; Test for 8087 interrupt + jz not87int ; Not an 8087 interrupt. + + call __fpintreset ; OEM interrupt reset routine + + call __FPEXCEPTION87 ; 8087 error handling - may not return + ; this routine turns interrupts back on + + cmp [oem].share,0 ; Should we execute the old interrupt routine? + jz done8087 ; if not then return + +; If you fall through here to do further hardware resetting, things +; may not always work because __FPEXCEPTION87 does not always return +; This only happens when the 8087 handler gets an exception that is +; a fatal error in the language runtimes. I.e., divide by zero +; is a fatal error in all the languages, unless the control word has +; set to mask out divide by zero errors. + +not87int: + jmp [oldvec] ; We should never return from here. + +done8087: + iret + + + +__fpintreset: + push ax + push dx + mov al,[oem].aocw2 ; Load up EOI instruction. + or al,al ; Is there at least one 8259 to be reset? + jz Reset8259ret ; no + mov dx,[oem].a8259 + out dx,al ; Reset (master) 8259 interrupt controller. + mov al,[oem].bocw2 ; Load up EOI instruction. + or al,al ; Is there a slave 8259 to be reset? + jz Reset8259ret + mov dx,[oem].b8259 + out dx,al ; Reset slave 8259 interrupt controller. + +Reset8259ret: + pop dx + pop ax + ret + + +EMULATOR_TEXT ends + + end diff --git a/Microsoft Pascal v3.31/EXEMOD.EXE b/Microsoft Pascal v3.31/EXEMOD.EXE new file mode 100644 index 0000000000000000000000000000000000000000..36c9445b9c86f8ec13e0ee328ec2cae645e4e4da GIT binary patch literal 11038 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 G3I0#Gk@1%R literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/EXEPACK.EXE b/Microsoft Pascal v3.31/EXEPACK.EXE new file mode 100644 index 0000000000000000000000000000000000000000..2261ab8125ea812f5ef77a4617e3d351619e97b8 GIT binary patch literal 10854 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 Rqo!%Y5{EH*B^s>yKLKZdhgtvt literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/FINK b/Microsoft Pascal v3.31/FINK new file mode 100644 index 0000000..d3567fd --- /dev/null +++ b/Microsoft Pascal v3.31/FINK @@ -0,0 +1,82 @@ +{MS-Pascal / MS-FORTRAN FCB Declaration Include File} +INTERFACE; UNIT + FILKQQ (FCBFQQ, + accessmodes, + am_read, + am_readwrite, + am_write, + am_default, + SHAREMODES, + sm_compat, + sm_denyrw, + sm_denywr, + sm_denyrd, + sm_denynone, + FILEMODES, + SEQUENTIAL, + TERMINAL, + DIRECT, + fm_sequential, + fm_direct, + fm_terminal); + +TYPE +FILEMODES = (SEQUENTIAL, TERMINAL, DIRECT); +SHAREMODES = (sm_compat, sm_denyrw, sm_denywr, sm_denyrd, sm_denynone); +accessmodes = (am_read, am_write, am_readwrite, am_default); + +FCBFQQ = RECORD {byte offsets start every field comment} +{fields accessible by Pascal user as .} +TRAP: BOOLEAN; {00 Pascal user trapping errors if true} +ERRS: WRD(0)..18; {01 error status, set only by all units} +MODE: FILEMODES; {02 user file mode; not used in unit U} +SHARE:SHAREMODES; {03 pad to word bound, special user use} +{fields shared by units F, V, U; ERRC / ESTS are write-only} +ERRC: WORD; {04 error code, error exists if nonzero} + {1000..1099: set for unit U errors} + {1100..1199: set for unit F errors} + {1200..1299: set for unit V errors} +ESTS: WORD; {06 error specific data usually from OS} +CMOD: FILEMODES; {08 system file mode; copied from MODE} +{fields set / used by units F and V, and read-only in unit U} +TXTF: BOOLEAN; {09 true: formatted / ASCII / TEXT file} + {false: not formatted / binary file} +SIZE: WORD; {10 record size set when file is opened} + {DIRECT: always fixed record length} + {others: max buffer variable length} +IERF: BOOLEAN; {12 Unit U Incomplete End Of Record } + {Kluge. Set false by opnuqq and } + {pccuqq, and true by peruqq. Thus } + {if true in wefuqq, it means that } + {there is an incomplete line, and } + {pccuqq should be called to flush } + {it. Only applies to terminal files} +access: accessmodes;{13 controls read/write modes } +OLDF: boolean; {14 true: must exist before open; RESET} + {false: can create on open; REWRITE} +INPT: BOOLEAN; {15 true: user is now reading from file} + {false: user is now writing to file} +RECL: WORD; {16 DIRECT record number, lo order word} +RECH: WORD; {18 DIRECT record number, hi order word} +USED: WORD; {20 number bytes used in current record} +{fields used internally by units F or V not needed by unit U} +LINK: ADR OF FCBFQQ;{22 DS offset address of next open file} +BADR: ADRMEM; {24 F: DS offset address for buffer var} +TMPF: BOOLEAN; {26 F: is a temp file; delete on CLOSE} +FULL: BOOLEAN; {27 F: buffer variable lazy eval status} +UNFM: BOOLEAN; {28 V: for unformatted binary file mode} +OPEN: BOOLEAN; {29 F: file opened (by RESET / REWRITE)} +FUNT: INTEGER; {30 V: FORTRAN unit number (1 to 32767)} +ENDF: BOOLEAN; {32 V: last I/O statement was a ENDFILE} +{fields set / used by unit U, and read-only in units F and V} +REDY: BOOLEAN; {33 buffer ready if true; set by F / U} +BCNT: WORD; {34 number of data bytes actually moved} +EORF: BOOLEAN; {36 true if end of record read, written} +EOFF: BOOLEAN; {37 end of file flag set after EOF read} + {unit U (operating system) information starts here} + {end of section for unit U specific OS information} +END; +const fm_sequential = sequential; + fm_direct = direct; + fm_terminal = terminal; +END; diff --git a/Microsoft Pascal v3.31/FINKXU b/Microsoft Pascal v3.31/FINKXU new file mode 100644 index 0000000..11e38b3 --- /dev/null +++ b/Microsoft Pascal v3.31/FINKXU @@ -0,0 +1,96 @@ +{MS-Pascal / MS-FORTRAN FCB Declaration Include File} + +INTERFACE; UNIT + FILKQQ (FCBFQQ, + FILEMODES, SEQUENTIAL, TERMINAL, DIRECT, + fm_sequential, fm_terminal, fm_direct, + accessmodes, + am_read, + am_readwrite, + am_write, + am_default, + SHAREMODES, + sm_compat, + sm_denyrw, + sm_denywr, + sm_denyrd, + sm_denynone, + BUFFER_SIZE, + ADRFIELDS); + +const + BUFFER_SIZE = 512; + ADRFIELDS = 2; {* Two ADR fields in the FCB, see NEWUQQ. *} + +TYPE +FILEMODES = (SEQUENTIAL, TERMINAL, DIRECT); +SHAREMODES = (sm_compat, sm_denyrw, sm_denywr, sm_denyrd, sm_denynone); +accessmodes = (am_read, am_write, am_readwrite, am_default); +FCBFQQ = RECORD {byte offsets start every field comment} +{fields accessible by Pascal user as .} +TRAP: BOOLEAN; {00 Pascal user trapping errors if true} +ERRS: WRD(0)..18; {01 error status, set only by all units} +MODE: FILEMODES; {02 user file mode; not used in unit U} +SHARE:SHAREMODES; {03 pad to word bound, special user use} +{fields shared by units F, V, U; ERRC / ESTS are write-only} +ERRC: WORD; {04 error code, error exists if nonzero} + {1000..1099: set for unit U errors} + {1100..1199: set for unit F errors} + {1200..1299: set for unit V errors} +ESTS: WORD; {06 error specific data usually from OS} +CMOD: FILEMODES; {08 system file mode; copied from MODE} +{fields set / used by units F and V, and read-only in unit U} +TXTF: BOOLEAN; {09 true: formatted / ASCII / TEXT file} + {false: not formatted / binary file} +SIZE: WORD; {10 record size set when file is opened} + {DIRECT: always fixed record length} + {others: max buffer variable length} +IERF: BOOLEAN; {12 Unit U Incomplete End Of Record } + {Kluge. Set false by opnuqq and } + {pccuqq, and true by peruqq. Thus } + {if true in wefuqq, it means that } + {there is an incomplete line, and } + {pccuqq should be called to flush } + {it. Only applies to terminal files} +access: accessmodes;{13 Controls actual open mode } +OLDF: boolean; {14 true :must exist before open; RESET} + {false :can create on open; REWRITE} +INPT: BOOLEAN; {15 true: user is now reading from file} + {false: user is now writing to file} +RECL: WORD; {16 DIRECT record number, lo order word} +RECH: WORD; {18 DIRECT record number, hi order word} +USED: WORD; {20 number bytes used in current record} +{fields used internally by units F or V not needed by unit U} +LINK: ADR OF FCBFQQ;{22 DS offset address of next open file} +BADR: ADRMEM; {24 F: DS offset address for buffer var} +TMPF: BOOLEAN; {26 F: is a temp file; delete on CLOSE} +FULL: BOOLEAN; {27 F: buffer variable lazy eval status} +UNFM: BOOLEAN; {28 V: for unformatted binary file mode} +OPEN: BOOLEAN; {29 F: file opened (by RESET / REWRITE)} +FUNT: INTEGER; {30 V: FORTRAN unit number (1 to 32767)} +ENDF: BOOLEAN; {32 V: last I/O statement was a ENDFILE} +{fields set / used by unit U, and read-only in units F and V} +REDY: BOOLEAN; {33 buffer ready if true; set by F / U} +BCNT: WORD; {34 number of data bytes actually moved} +EORF: BOOLEAN; {36 true if end of record read, written} +EOFF: BOOLEAN; {37 end of file flag set after EOF read} + {unit U (operating system) information starts here} +{**********************************************************} + + FILE_NAME : ^STRING; {* 38 points to file name *} + FDSCP : INTEGER; {* 42 actual ZEUS file number *} + PREDEFINED : BOOLEAN; {* 44 True if file is a device. *} + FNER : BOOLEAN; {* 45 True if File name error. *} + BEGIN_BUFFER : INTEGER; {* 46 Start loc of buffer. *} + END_BUFFER : INTEGER; {* 48 top loc of buffer. *} + IEOF : BOOLEAN; {* 50 Flag if EOF ever seen. For ^Zs. *} + BUFFER : STRING(512); {* 52 Internal buffering. *} + PADBUF : STRING(65); {*564 Make same size as MS-Dos. *} + {*630 + 4 = 634, see newuqq *} +{**********************************************************} + {end of section for unit U specific OS information} +END; +const fm_sequential = sequential; + fm_direct = direct; + fm_terminal = terminal; +END; diff --git a/Microsoft Pascal v3.31/FINU b/Microsoft Pascal v3.31/FINU new file mode 100644 index 0000000..6a7e2e6 --- /dev/null +++ b/Microsoft Pascal v3.31/FINU @@ -0,0 +1,137 @@ +{MS-Pascal and Fortran OS Dependent File System Interface Unit} +INTERFACE; UNIT +FILUQQ (FNSUQQ, INPUQQ, OUTUQQ, + INIUQQ, OPNUQQ, CLSUQQ, CLDUQQ, ENDUQQ, + GETUQQ, PUTUQQ, PERUQQ, PCCUQQ, SEKUQQ, + GTYUQQ, PLYUQQ, PTYUQQ, GFNUQQ, PFNUQQ, + BUFUQQ, NEWUQQ, TFNUQQ, PPMUQQ, + NEFUQQ, DIFUQQ, IOCUQQ, DSNUQQ, + FPSUQQ, TFDUQQ, EOFUQQ, LKGUQQ ); +USES FILKQQ; + +TYPE + ERRORET = WORD; {return code, error if non-zero} + +VAR + FNSUQQ: SET OF CHAR; {allowed chars in a filename} + INPUQQ, OUTUQQ: STRING (8); {filenames for user terminal} + +PROCEDURE INIUQQ; +{Overall initialization call; set FNSUQQ, INPUQQ, and OUTUQQ} + +FUNCTION OPNUQQ (VAR F: FCBFQQ): ERRORET; +{Open a file; INPT determines whether for input or output; + if OLDF true and file not found, error, else create file; + DIRECT mode record length is in SIZE; + file's mode is in CMOD, but if mode is SEQUENTIAL and + file is a terminal (or printer) reset CMOD to TERMINAL; + set EORF true; set EOFF to NOT INPT} + +FUNCTION CLSUQQ (VAR F: FCBFQQ): ERRORET; +{CLOSE; close the file (if error occurs file assumed closed)} + +FUNCTION CLDUQQ (VAR F: FCBFQQ): ERRORET; +{CLOSE DELETE; close the file and delete it (errors ignored)} + +PROCEDURE DSNUQQ (VAR F:FCBFQQ); +{dispose a file name - noop on dos 1.25 unit U} + +PROCEDURE ENDUQQ; +{Overall termination, all files should already be closed} + +FUNCTION GETUQQ (VAR F: FCBFQQ; LEN: WORD; DST: ADSMEM): ERRORET; +{Copy bytes from the file to the string until the string fills, + an error occurs, or the end of record or end of file is found. + Set EOFF if last byte of file has already been read (not an error); + else copy from zero to UPPER(S) characters from the file to S. + Set BCNT to actual number of bytes copied (zero to UPPER(S)); + value of bytes in S from BCNT+1 to UPPER(S) is undefined. + USED is always the number of bytes read from this record. + Use TXTF and CMOD as appropriate for various kinds of files: + If CMOD=SEQUENTIAL or TERMINAL and TXTF is true, + set EORF if last byte of record read and BCNT < UPPER (S). + If CMOD=TERMINAL, reading user line from a console: + If TXTF, read whole line with user editing and echo, + If NOT TXTF, read characters as typed, without echo.} + +FUNCTION PUTUQQ (VAR F: FCBFQQ; LEN: WORD; SRC: ADSMEM): ERRORET; +{Copy bytes from string to file, at end of current record; + USED is always the number of bytes written to this record. + Set EORF false iff (CMOD=SEQUENTIAL or DIRECT) and TXTF true} + +FUNCTION PERUQQ (VAR F: FCBFQQ): ERRORET; +{End writing the current record and setup to write the next; + Set EORF true iff CMOD=SEQUENTIAL or TERMINAL and TXTF true} + +FUNCTION PCCUQQ (VAR F: FCBFQQ; CH: CHAR): ERRORET; +{Start of line carriage control; CMOD is TERMINAL; + CC is one of: + ' ': single space (normal) '0': double space + '+': no spacing (overprint) '1': new page + EORF will always be true, set it false} + +FUNCTION SEKUQQ (VAR F: FCBFQQ; LREC, HREC: WORD): ERRORET; +{Reposition direct-access file to record number LREC/HREC.} + +FUNCTION GTYUQQ (LEN: WORD; DST: ADSMEM): WORD; +{Read up to LEN chars from user's terminal to DST, return number read} + +PROCEDURE PLYUQQ; +{Output an end of record (crlf or equivalent) to the user's console} + +PROCEDURE PTYUQQ (LEN: WORD; SRC: ADSMEM); +{Output LEN chars from SRC} + +FUNCTION GFNUQQ (VAR F: FCBFQQ; LEN: WORD; DST: ADSMEM): WORD; +{Move filename to DST, max of LEN chars, return actual length} + +PROCEDURE PFNUQQ (VAR F: FCBFQQ; LEN: WORD; SRC: ADSMEM); +{Get filename from SRC of length LEN, for use in later OPNUQQ calls} + +{Pascal-only calls} + +PROCEDURE BUFUQQ (VAR F: FCBFQQ); +{Wait for I/O transfer to finish, set REDY true (defer errors)} + +PROCEDURE NEWUQQ (VAR F: FCBFQQ); +{Initialize OS dependent fields; SIZE and TXTF set (defer errors)} + +PROCEDURE TFNUQQ (VAR F: FCBFQQ); +{Set the NAME field to a unique OS temporary filename (defer errors)} + +FUNCTION PPMUQQ (LEN: WORD; ADRP: ADRMEM; VAR DST: LSTRING): ERRORET; +{Like GETUQQ, but used to read program parameters from user. + String P is a user prompt, which may or may not be used. + If user input string is shorter than UPPER(S), blank pad; + if it is longer, either re-prompt or give an error. + Called once per program parameter requested} + +{Fortran-only calls} + +FUNCTION NEFUQQ: ADRMEM; +{If possible, allocate a file of size BOFFQQ, initialize OS dependent + fields, and return the address of the FCB; else return zero} + +PROCEDURE DIFUQQ (F: ADRMEM); +{Deallocate the file at address F of size BOFFQQ} + +FUNCTION IOCUQQ (VAR F: FCBFQQ): ERRORET; +{Change from read to write or vice versa, based on new INPT value; + CMOD is SEQUENTIAL or TERMINAL; set EORF and EOFF as in OPNUQQ} + +FUNCTION FPSUQQ (VAR F: FCBFQQ; RELPOS: INTEGER): ERRORET; +{Position RELPOS bytes forward(+), backward(-), or rewind(0). + If INPT is false, write eof first. Set EORF and EOFF as in OPNUQQ} + +FUNCTION TFDUQQ (VAR F: FCBFQQ): ERRORET; +{Truncate DIRECT file before current record; CMOD is always DIRECT. + If truncation is difficult, ignore operation. Set EOFF true} + +FUNCTION EOFUQQ (VAR F: FCBFQQ; VAR FEOF: BOOLEAN): ERRORET; +{Set FEOF true if next GETUQQ would return with EOFF true, + else set it false. If difficult to detect, just set it false} + +function lkguqq (var f:fcbfqq; lkgmode: word; lrec, hrec: word; + recnum: integer4): erroret; + +END; diff --git a/Microsoft Pascal v3.31/FLOAT.PAS b/Microsoft Pascal v3.31/FLOAT.PAS new file mode 100644 index 0000000..840208e --- /dev/null +++ b/Microsoft Pascal v3.31/FLOAT.PAS @@ -0,0 +1,52 @@ +program tf( INPUT, OUTPUT ); + +var + r, a, b, c : real; + i, x : integer; + +procedure phi; +var + prev2, prev1, i, next : integer; + v : real; +begin + writeln( 'should tend towards 1.618033988749...' ); + prev1 := 1; + prev2 := 1; + + for i := 1 to 21 do begin { integer overflow beyond this } + next := prev1 + prev2; + prev2 := prev1; + prev1 := next; + + v := prev1 / prev2; + writeln( ' at ', i, ' iterations: ', v ); + end; +end; + +begin { tf } + a := 1.1; + b := 2.2; + c := 3.3; + for i := 1 to 8 do begin + writeln( 'a, b, c, i: ', a, b, c, i ); + + a := b * c; + b := a * c; + r := arctan( a ); + r := cos( a ); + { r := exp( a ); } +{ r := frac( a ); } +{ if a <= 32727.0 then r := int( a ); } + r := ln( a ); + r := sin( a ); + r := sqr( a ); + r := sqrt( a ); + if a <= 32767.0 then x := round( a ); + if a <= 32767.0 then x := trunc( a ); + end; + + writeln; + writeln( 'a, b, c: ', a, b, c ); + + phi; +end. { tf } diff --git a/Microsoft Pascal v3.31/LIB.EXE b/Microsoft Pascal v3.31/LIB.EXE new file mode 100644 index 0000000000000000000000000000000000000000..d2cd188a8b1c727a15cd377ba157c73365c5a06d GIT binary patch literal 28716 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 Kz4_H`-v0x(_~j@7 literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/LINK.EXE b/Microsoft Pascal v3.31/LINK.EXE new file mode 100644 index 0000000000000000000000000000000000000000..96952887ffadcde7c2599638fe649e8f51b3765f GIT binary patch literal 43716 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 PBBABP2blhsPZj$Qlb2=- literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/LVARSTCK.OBJ b/Microsoft Pascal v3.31/LVARSTCK.OBJ new file mode 100644 index 0000000000000000000000000000000000000000..f55486d09d59caae2180ed69b2cae7572e2842b8 GIT binary patch literal 442 zcmX|7O-lk%6g_WxGm{l25iOOVg%Jc1R1jpAl8~vDeQavzV-nH~G#Bk8Z8469EBjpZ z1^tB}2%$$U`UCAF2{b{T{eN5x z5O9bIf@T!M3TqPcjm%;PlNdyzp^}|U5*ho-cQGbP#P+N0pf0i}t0y+I2Bqvl& ZOK)X#om?qbUGzX^rWGG)S~ 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 F007*}p*sKo literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/MM.PAS b/Microsoft Pascal v3.31/MM.PAS new file mode 100644 index 0000000..4d2d2eb --- /dev/null +++ b/Microsoft Pascal v3.31/MM.PAS @@ -0,0 +1,76 @@ +{ BYTE magazine October 1982. Jerry Pournelle. } +{ various bugs not found because dimensions are square fixed by David Lee } +{ expected result: 4.65880E+05 } + +program matrix( output ); + +const + l = 20; { rows in A and resulting matrix C } + m = 20; { columns in A and rows in B (must be identical) } + n = 20; { columns in B and resulting matrix C } + +var + A : array [ 1 .. l, 1 .. m ] of real; { [row,col] } + B : array [ 1 .. m, 1 .. n ] of real; + C : array [ 1 .. l, 1 .. n ] of real; + + Summ: real; + +procedure filla; +var + i, j : integer; +begin { filla } + for i := 1 to l do + for j := 1 to m do + A[ i, j ] := i + j; +end; { filla } + +procedure fillb; +var + i, j : integer; +begin { fillb } + for i := 1 to m do + for j := 1 to n do + B[ i, j ] := trunc( ( i + j ) / j ); +end; { fillb } + +procedure fillc; +var + i, j : integer; +begin { fillc } + for i := 1 to l do + for j := 1 to n do + C[ i, j ] := 0; +end; { fillc } + +procedure matmult; +var + i, j, k : integer; +begin { matmult } + for i := 1 to l do + for j := 1 to n do + for k := 1 to m do + C[ i, j ] := C[ i, j ] + A[ i, k ] * B[ k, j ]; +end; { matmult } + +procedure summit; +var + i, j : integer; +begin { summit } + for i := 1 to l do + for j := 1 to n do + Summ := Summ + C[ i, j ]; +end; { summit } + +begin { matrix } + Summ := 0; + + filla; + fillb; + fillc; + matmult; + summit; + + Writeln( 'summ is :', Summ ); +end. { matrix } + diff --git a/Microsoft Pascal v3.31/NULE6.OBJ b/Microsoft Pascal v3.31/NULE6.OBJ new file mode 100644 index 0000000000000000000000000000000000000000..933ed2793e303a4ee3fc6b1bb81c348d4f353b00 GIT binary patch literal 586 zcmYLGF;2uV5M19SJ{_VsY6>VQ?gcbdQEVkfVV&4X2tnw2Y92rh6ch-d69xa^0|Ng*ViQDot@cP`+f!~c9lHcdp!b3axG*cvNq$QFuJSLl|Q7bRu1jrZ3fE|;1jm* zPzjJu*b63Vd;wcJ(#31x#qprP8RA|kCAckE?g z1vP1PPjhuoNp-(t zDQRuU+2md^cP=LP>=q&IVI|#*m91kBT%T3sY~x(3X*X+ppWnC5sIQZhpo@1p)|7Ot zsc&?#w%V_!IdF+$aBuhWu>=P2oxs)gV4ENJ9pZl&T}5_}o3(pmID6;td(0WTeV72; F{R8E*c>w?b literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/PAS1.EXE b/Microsoft Pascal v3.31/PAS1.EXE new file mode 100644 index 0000000000000000000000000000000000000000..dae356fa5d12f3a990838122862f8a91a0e90cee GIT binary patch literal 97162 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%0D{g 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 HDgFI_JT}C| literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/PAS2.EXE b/Microsoft Pascal v3.31/PAS2.EXE new file mode 100644 index 0000000000000000000000000000000000000000..70ad46333a56d4d999db2dd53f2ed118f64c3e8f GIT binary patch literal 112080 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Ĵ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

XHv`*3EtD<+XJG z_iE|=<}O-#vsu$pwoco^ThARANfKss#E)s(!w_U0ye_qA|LEIi`?4Axz#P=Dsg?U46&w{cMux5H-SfKjl~x3`VO8C{)euf zTXwsf4U8IvXVU(Z^%$hMcY#wiBz7xD9NP5vk0TwDhd7kK+f>(7qfpg>p&i!9H zfrs^S(C)*ge*O6_P9Tw&Yz+QEZ$KG6tDXAgU-T@muoV7&j>|^5TRwX>Y~nTNg9E=) z@|C>mi-Y;t9E$?~`5kXb<6@KXpJGdn9UVP7+7?51;s2h9yXg_v6yGP7cN^%b#>S&h z94l_XHX16==Ch!cO~epE86dCFSuo4y^NOtjiTI$`(15N=Z*}7hyi0we_Ca*1?hy5< znqKeYKJ78Rwv`p32g*};_hM%1rPkNYpDSs4Pt@Z`@mD>IFnCZe8rFKbLFN;e$@-sN zvUYcSyedzHvvwV9DJ5Ecuh2w(9nRTx%%`L%*H&M&lST!7wiO-s*VtBj=l>mCuLE-J zwR23E^!3G|V8V#8fp{&1&7I)D!QBtmUi6s~VnU@2+BrmiA|#eKuItHR>8mN0hRtOQ!e5 z&X}oPVp=0&pwWneW<^jNp!E$tt#7b9R>wUN_gdVZxG%M8z@KgGHl?Cr_-}QgHjAq< zuNaP@d(M?-R?1K{y~avi+GQtSUB>Xd^IN6+o-Q#YMp|lP@^`wVhobqa>Fb#Mbcj6D z=1TOmjYrIz^xX2T-}2^$9DCw6uS4Vr1M^uL#PwFDnCYa=k`e!6Twpz1*~3kEK(%>2 zQobp&k7U0YPc`}Nh+9~rOn(Y8X+ai-8}KA@o)&{A63O+N5%l2<)pTWu8+5%c!3HEp zhq2CTDqE=KNu=shhyj%>H%z3;pgK>Anj_}Ds<)q(HkQ-cqSKORwrarxh(!H5D=Mnz z-mK^5z0*3YSa!8WN05i=dHU#icwvv|$(16l6OSQ&M4wqc+oEK3V^aj1c>4AIY(5)i z^A&mu$EWjS@es4pD)_Dr(}e!OHy+DfO=nc! zGt;YSVO!Sf)4s$jm#OrXbK1Mq{El{cw=RB7tbe>ztR8u3Q_y7qBh0s4wzP+}iDevG zn)B&Rb10R~jjX#}ycQOgcwR}74d*ps4dsG-JwjOBGY3DU+8Z_3f=Ai1)KzW2x!9eR z>GB0#)h+->buhkgQL?G>_M=6U(n+ly@qakQ2?-|e5^~{&+Pee{5po*D8mxOK>qOR_Qf{LVLtvC1QhG|cg+h$9 zY|YEO`;>y`sgx^I56M5J^r2D3>wHvE-*0Nax&7|zSKW`i3azBNj88tH{&}R8XCJEZ zVKhH5hR-VgstYEZu=c@x?)tcY+D`t7XFC-P?$$*y*f)lnLSXlma&GI$`Dzd&0$z9H z5U&VPCi?nE7G^r4l~5B@7HY|c`eFm^dfiHc3JJ5;WqR^Wfk_|wi`t(`+0oc~?825x ztPix0fOlADt*^9F&x>AwS2nT^!iPe_I%{fk0k6hYLAi!cas|0C817WQw1lnb7tLL) zXpr93T}Abk>~NV!8;@3Pe?gqCEohTB+@niD9^ERl4w8>{kj!l6E#P*o1#n+how*jC zPWQ&6xh!9Z>}U2y*y^RFDpTb7EnV33wuCMH`yKnfFuSj|%F|`Ntzsl|6wlMOzGLJ0 zF2wt_$Pc#4$&{4$zyXm@Jm9;Z!7!v8UHR~E&O+VuMN=Qd#l7{UT5ghEXO)$end_KB zo^BlrDsBh^Lybnc%(4~%s$vS^6ebg+lNl7Ckz-?67<5Bz?(UQFlP7swLxw;QA&1Us z^^c}Io@U%he)``{3LaEz)q3L`vGP`vJo}_xYcz4iEca`UaI#c$T9e?t<`6!ESBVk~ zjXLVmbG)PW>GDpcsK7sT26Z` zs+`I|Zf|^bPY#`>GI@1gXjA${#GK$U^2uhori1Q4v+V9lw^*Y~veeck<(IU4e{7aL zT0RKkn5nqPKWdqsKg-e{)7AZ+9^m2enEp_Y-^AwAv|T`^3#U7sVAPU zq+WZt<>|GUb7Ekv29r#cnQNK3+$^s;r}Wl@ZPJHI)8z%t!Kplf=!@fi5uTP$o)>~m0@BMuCm zU!Pa5qnKG26tZ6V_I713dC+6rgB~CJj{e_0c=zCa_y_+WP$euF&^ER!SMdtrdizBM z59`)4Q)v{jA;-5U7V`eGttGgUKPQpDy%=0dOz>e@Y7?b4`l5D=Sny)<$EW4JCxTNs zZBtnkaq?kvu$9Sc&+^LmFwrCOoln%LO?;{wn>LTQ@B61#T}hDmdYW&19&UFuz3y>h z#b+W)&W|-ulXn~sPBxN&3@dG1OK-IVE16v0^uuNGh0gSk#?z?d!B-5_cI2DS2cI!; zWtXMM$G#1#bnY2G8}O0)lt;+TSOUglHo5s2Ee0EuYb!G=*#KW$IQi%^@}Xl&Jkb%$ z%yQ)g7z{bJPtV~Al6>#Q;6y_Zi!@}<+>-^4^}=)Ib=Z;$XUWT0)fODg`M_9Nv!?!G z;vapZ+f~IW*>_Ay(M`S=FJW?NI1;McCJkEeK*=JKk^M`Lyk#Ri{TH67%}XHCPM~f`?h{T?Y7*ae*kbkCU)FGhV(@ zW(4T5;kV&i7mxiee4EZ=Exq-`S65$*UU{0H-k;=kmslp7%I?K~D*yjPKL_GKGhWXH z-U8P!^irR|Fz&+3I;kgW+#lDvKZeC1P$M0PMUJcV9AFwxr?gBTbF1Qyal2)yTYwjM z>JH+~%evusT}!Jv-(ac9Ww*G{ZeZ`;V^6faGp0AKIaOE0Fz>DJnpsNbLOZr5Vaqq( z8~C<*$LQ4NnqS=$5#)ErP-0A(@mw+WgaM?K?ez=o8E$d4+3yyW0a!oT=rSatixN{1 z>j^lq81oEvdf@#L3NYVe$1qT&lBNjQn!Xzjb)mg(A?*dhty`=yYaH`knwN5Xb0^0r zBW6S#Gml0adwPMrGIN3b*7DfR3+$;U%oZ)|T@$Yp!fGD8hxYqxy&INsdZ@??SFXtD za794#zgZE@d^;?ZcGcq*1(yvMv=hUHoguac*ARxc60otQK{s2z!BvxlRN-iFSs^J0 z(%)#PagD&`ZWkVF@)!f1cDwMRnwFx*6&Jq1wqRr(YQPD5@_Ct{VMUp0xkD|tqp8Hy z{RLKt+q&s^MUBqG&=PpQAqGt;F`dn;S^TNp;L8lGHfo!2w%l!}W*YFoVBrY)AcF_o zjeyhGGekoy0FH(4C~BbmykXytm)0a~%h~Pf!x#^ta(P}do);0_5!y|HKN=HZXOWGU z>4+D}HO%1Z)3w;J|InNZDNXg!+au&;uEh&^q)ykc442K@pZk{H&8`s!Urd9`04>;{ zrD78)mMW)7vx{PpfT~Y#g+$Qh{19EJtk1tt02M@Xy=;LR2fAA@!6VY3QIjs(Duy&W zxC<5Q=GmkGyDco6o2m;R!jR>v^iHiJWgJ$T8m_ zZZmz0x!Sbyx$h+N*V&;SkS=eMvJ?E~;AEBNKiZ188})7$x7iI|qtds5E&}Ct&rG?$ z8u%HV9jc~Vcy4(h(&~4ZF#K?dald6mW_algw-v9Z!Fge~6n3_Wk>HY!-o~S4r+x2u9Cbc`Lqu z&^2GP?|4T(ThIB#XyF~}`yqq(rqmM!mF1c!t| zMLVT!he?e!dqt|V602_`g|ymyhdTU}ZiwWs0}l9+MZM7)X*dW+T5G0Z7L8PR2p=>x ziwDtw@WAz;opm2TMGQv*gFx$N@JV-CJA9JXo;m~&h)0rNBFXH_CmD|<&m+lCdQ3th zC#&hGOe6y|DEz8774E4ckJ!C*JL1n>KECdccpp8s#c9`2!TJ%n|u{tv$G)>Tq3 z@*-Idz_Zi}AY(K94$C>l$tNnWkk zD8_q0+Bze-MrXK2tzM=2My72`+h3rKBKKhjFkAo@i{ZT^Jt5iYxGlo z_c?!2v*a4}REqoDprU5M-4D?1bkV8YXk-n?Uz=4izm*XP!Lz|iIZ^BS;v@DtmCX>FC=9O zc;dJtB0dp91Bvhqt(!i2Gx>kn!j1(RI3rb@X>eVKTxTTLH94e`HOWFnD_(dQ>ocqQ zt;)5$n`x@9Xkx3e0sjn-Z$kViUzFr-qAUs$HYuN1SG2MRgy2?&3sVKQDzp0e@lrxb zysjkbuD-6W_}Z{~{BCy}$wnjAR_ju0-0hVW?ej`w`5s5}5tZh`=-b+GUz2rK>&M#Q z-oN&}kIbm1yG?uYDt&045%>7UigO8;H%+V^uVY>V!nLkAT1OOiJT9%973X)2L>TG` zA>(A_8)+209!|Zi5Anh%Z}pmyY>miY_G(a)zAuY5l0(shqj+0tc3p3Pgk8xQ z;yv-cUTE{MFbhsFIKiZpk`26uuZv(c2@hMuW*2&{DAgA`Q_fVC83@6k(&+2UL#|VC z&)LDpR+y5GJ8(`70y_|(2a)s4Q>-2Ud#bw^!O`2W-Dv^EavCzZ9ip*1hX$~|$$Shv zj;t?Vv%a%D(;6Xo1FO%Ei*>RQD%+BesSgP7L^L9<>qr$vq&ZUq!uA|4!5ZcP0ktjz z4FW>DUBfu54Xzl<*nmMcKc&(g)U8j35rH{w#6$%R?r#=a3=*}*Mt+9|O}r8lc_qd^ z(Nirds1_r>xKb5nqihhu5FUg67=w2JCl`;hI!5mBBSJ8P(jkud`trel9C4Eh`v)WDUz8vR<&1CQ+*wO$*TTXp&B@djxs_;Rpg9LX0E;!Mui%JG~e} zLp!6!qR|&qxkfPHm0-*`$>p`{evJ4x`1*sxjjkIt-(1g)r`_)wt>8HzIU)M3(A3^Uj>^1P09EIR60~e4GTn{f|W92K57T!I>H5yh_9wX<# zlF9K?PvIdyP0Dn)XSi+j5;Hi4YO(itRCPm|&>}Tp8EVb2UFD+CBEkaN!*3iRjlnex z`S`^sTwLq6DMtKj5mLQo7`>he&Vo0=##(D#sW#ULzSIIQPxhv<9UWFn@CHf-i=-%8 z0dU*!rUthDYm8q@j6baP9=s;~HRDCnK7wl)G^Z8zKF{tOCA8FLr`5RIDl6Is`i6E- z3j-fvP~ZrN7Xvn*B3Z0&DleI+`|MPllZu1psL7y0qglluVa=$@H8P#`y5}&f+lTg z`!U1u7h#IjEETot9i!+z}JI=IM)ioM} z2fP4Pfrb;qeFY{vVlm&widSlH)a(fZiLezJ&=2se2G?kfWrMFHZ)bV>w@ftlf^%TN z=Xw$Yn&U7bJTTCw#oS4Guc4Ob?ZaPG2`r7rgoPG`&^XBoFm#B4Dsdu>qLHHQ@|Mp> z77>0BEpUgiV?u7_G=<FJKzb?Y%Q134GWRjf~Um_?J{1qVXceiuHIlkVs`T>jzf zQ#2Q=G<2D5V6|%*G~Fz|f?6Aus~hMdfR%h2{5+2jGT`;{-u%(d!|_@`=QEQ%v{p76 zxwW|=2G{a1-0|UOgZOHkZS$*f7^H$y;MKU!9uWg#J`y%66EUQX^$n@aL|R`0d0))bV(v;H0vO+04i6CzzIVB=rV5F}cq83T>eIxG~5`w!M#akI398_~0y z%&Uxk7X}&V{jhh4PO-ESTK^Iz7_Y>m&G=`cF=1@X=Ug~W>>kWKaJm`&oJkjm{ymhf)7HpAI9=N!HhlN>$8=pBY` z%@a7_Nc1GDD~-wO&2_Ki;}6xlZ1@@mT*x_-vOgmAJjx~&8}Zpims=7v1A^PF*~|ba~nGgSy~H@VozVix$8uDB(A)Y296oX&{2OE2+U zlDP`A3JVLf3-Lw8>};pgdF7*LW?_!g>6zw1%4r2Se9uu!Ka&3@WoL2vS2{-0FPuCX z>92f@Og|}~^MA#o#))<;oXP25@fewY7O(J?kCExKrjnGde2h$=n@^JY;m2$jrT^ha zT~?X~f5?$*S=03oIY!pyf8zSKX{fIAwtPC>Myhk(HpxXtIv|{1Pv*x-Jfu(yr_*hu z3Z$XaZF&593Qw8Gk5gtK=yE*Ia1|n2JI>0=nc{S6$Enkbkn3{CJQp#c#cI;a=kkoC zaOLZ)$;F_MRZLc$mo+IbuLlmbHmz}fIZhB>IGH#pEGBEjH64rf8fo<^oG}gIbS&OSjX5D#tyW%Q!-p0K|9zSWP?WB(tf}M;BJ*bDQApv8OT)>c z3TMzUGX3nyv+kNb*>l(I!rZ%NXXoBEDR0s&(3q8-mpyB8-sD-6atb|JIg>rvIfc2C zbFy%z`brk z7QfD-E~hYut_ySMS}VP95?#B|b$Og_l#3&ryLK$_xKTQ;al~~V)!I!BnvT#B<-(D3 zOSvd~=HvpN9@mu1`QOZyONF^}sTg08`dVv2v|NQgM`0tA^4jn=$4ru=dv&kYdqreO%vuNqO5Evf$8?Xf@{4?O|@&Eq) zTLS-N#*f# z8`M*(_6zCf@TqlXp^MKm!{?ZVib7CtWenr@d z_^+20E7#uO<^yvsk+TqAU)N`pslrakb z>w5ZI3ujz2=GyBDXD}n6r4WXvq~U6emY0raKszdDUg-kof_dI~(eA}dN}TiN&o3z} zi^^VHcCT|G)^fDavir-tB}?P9&q+ELFLT1WOPsOS=>hYX<5QDns{Cm4X#AXv4a{4P zk4v}FF`GLq$z zcdj6rmzCj*pNk>WQlBRF#Y>iyECMM6)5kAMmip*>pbKKB`Ml0)3!PI-mM$;7-=4b+ z-w0iXWSlMV**8Bo&*`CWW`ehZl7%IuCClcQ^qskE@v_C<#q*Y+Vhh6YeRG$UBc$Wr zSuk(eqLO~$+%uLtA=VYk%aEgJ9=;%_Srkdbi1jgo5NorEv9=hiGnRrQehInD<}WWr Y#l24Yq$$4iNdg$ob7{#Ao9O?40B(Pz?EnA( literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/PASCAL.LIB b/Microsoft Pascal v3.31/PASCAL.LIB new file mode 100644 index 0000000000000000000000000000000000000000..d1245bfc945a14848a2d4a3c11717531c5524548 GIT binary patch literal 79872 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 VytcEW9oz(*McY`gCO`k5{|`U+s3QOX literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/PASEXEC.INC b/Microsoft Pascal v3.31/PASEXEC.INC new file mode 100644 index 0000000..5cee9ac --- /dev/null +++ b/Microsoft Pascal v3.31/PASEXEC.INC @@ -0,0 +1,101 @@ +{ PASEXEC.INC - interface file for C library routines + + This include file along with the CEXEC.LIB library has been included + with your Pascal 3.30 to show you how easy it is to call routines + written in our new C 3.00 release. The CEXEC.LIB contains several + routines from the C library which we think you will find useful in + extending the power of your Pascal programs. + + The memory model that Pascal uses is basically medium model (16-bit + data pointers) with some extensions for large model addressing + (32-bit data pointers). The CEXEC.LIB routines are from the large + model C library. This means that you should be careful interfacing + to these routines. You should use ADS or VARS instead of ADR or VAR + so that 32-bit addressed get constructed. + + The new Microsoft FORTRAN 3.30, PASCAL 3.30, and C 3.00 releases + have been designed so that libraries or subprograms can be written + in any one of these languages and used in any other. + + Try compiling and running the demonstration program DEMOEXEC.PAS + to see some actual examples. +} + +{ C function + + int system(string) + char *string; + + The system() function passes the given C string (00hex terminated) + to the DOS command interpreter (COMMAND.COM), which interprets and + executes the string as an MS-DOS command. This allows MS-DOS commands + (i.e., DIR or DEL), batch files, and programs to be executed. + + Example usage in Pascal + + i := system(ads('dir *.for'*chr(0))); + + The interface to system is given below. The [c] attribute is given + after the function return type. The [varying] attribute says the + function has an undetermined number of parameters; in this case, 1. +} + + function system : integer [c,varying]; extern; + +{ C function + + int spawnlp(mode,path,arg0,arg1,...,argn) + int mode; /* spawn mode */ + char *path; /* pathname of program to execute */ + char *arg0; /* should be the same as path */ + char *arg1,...,*argn; /* command line arguments */ + /* argn must be NULL */ + + The spawnlp creates and executes a new child process. There must be + enough memory to load and execute the child process. The mode + argument determines which form of spawnlp is executed as follows: + + Value Action + + 0 Suspend parent program and execute the child program. + When the child program terminates, the parent program + resumes execution. The return value from spawnlp is -1 + if an error has occured or if the child process has + run, the return value is the child processes return + code. + + 2 Overlay parent program with the child program. The + child program is now the running process and the + parent process is terminated. spawnlp only returns + a value if there has been a recoverable error. Some + errors can not be recovered from and execution will + terminate by safely returning to DOS. This might + happen if there is not enough memory to run the new + process. + + The path argument specifies the file to be executed as the child + process. The path can specify a full path name (from the root + directory \), a partial path name (from the current working directory), + or just a file name. If the path argument does not have a filename + extension or end with a period (.), the spawnlp call first appends + the extension ".COM" and searches for the file; if unsuccessful, the + extension ".EXE" is tried. The spawnlp routine will also search for + the file in any of the directories specified in the PATH environment + variable (using the same procedure as above). + + Example usage in Pascal + + var NULL : integer4; + value NULL := 0; + ... + i := spawnlp(0, ads('exemod'*chr(0)), ads('exemod'*chr(0)), + ads('demoexec.exe'*chr(0)), NULL); + + The C spawnlp function is expecting the addresses of the strings + (not the actual characters), so we use the ADS() function to pass + the address of the strings. The last parameter to the spawnlp + routine must be a C NULL pointer which is a 32-bit integer 0, so + we use an INTEGER4 variable NULL set to 0 as the last parameter. +} + + function spawnlp : integer [c,varying]; extern; diff --git a/Microsoft Pascal v3.31/PRIMES.PAS b/Microsoft Pascal v3.31/PRIMES.PAS new file mode 100644 index 0000000..d126259 --- /dev/null +++ b/Microsoft Pascal v3.31/PRIMES.PAS @@ -0,0 +1,30 @@ +{ Prime number generator } +{ Generates all the primes between 0 and 10000 } +program primes(output); + + var + prime: integer; + rprime: real4; + i: integer; + sqrtp: integer; + notprime: boolean; + + begin + writeln(' 2'); + writeln(' 3'); + prime := 5; + repeat + rprime := prime; + sqrtp := trunc(sqrt(rprime) + 1.0); + i := 1; + notprime := false; + while (i < sqrtp) and (not notprime) do + begin + i := i + 2; + notprime := (prime mod i = 0); + end; + if (not notprime) then writeln(prime:6); + prime := prime + 2; + until (prime > 10000); + end. + diff --git a/Microsoft Pascal v3.31/README.DOC b/Microsoft Pascal v3.31/README.DOC new file mode 100644 index 0000000..d182d57 --- /dev/null +++ b/Microsoft Pascal v3.31/README.DOC @@ -0,0 +1,630 @@ + Pascal v 3.31 - README File + 10/10/85 + +This document presents product information that supercedes +or is not covered in the regular documentation. In +particular, this document covers product changes and +enhancements made immediately prior to release. It is +recommended that the user review the document immediately. + + +------------------------------------------------------------ +Differences between version 3.31 and version 3.30 +------------------------------------------------------------ + +A. Stack size of the compiler has been increased. By using + the included EXEMOD utility, you can specify the amount of + stack space to be available during compilation. If you + specify a bigger stack, you can compile larger programs, + but you will need more memory for the compiler to run. + + The compiler comes initially configured with a 40K stack. + + If the compiler does not run on your machine, because of + limited memory, you may wish to change the stack size to + some smaller amount. For many programs, a stack size of + 10K proves to be ample. You can use EXEMOD to decrease + the stack size. + + If the compiler fails with an "out of memory" error, it is + likely that the stack is too small for the program you are + attempting to compile. You can use EXEMOD to increase the + stack size. + + +B. The linker has been changed so that if it is directed to + combine code segments into a physical segment whose size + is more than 65499 bytes, it will issue a warning message: + "Segment longer than reliable size." The message is only + a warning. The executible file will still be created. An + attempt to build any segment, code or data, longer than + 64K will still result in a fatal error. + + +C. FOR LOOP control variables are no longer set to the unde- + fined value when the loop terminates. See the Reference + Manual, page 322, "$initck-" metacommand, second item #2, + which states that $initck generates code to set the value + of INTEGER range FOR-loop control variables uninitialized + when the loop terminates normally. This is NO LONGER done. + + +D. Files and versions are as follows: + PAS1.EXE Pascal Compiler version 3.31 + LINK.EXE 8086 Object Linker version 3.04 + LIB.EXE Library Manager version 3.02 + EXEPACK.EXE EXE File Compression Utility version 3.00 + EXEMOD.EXE EXE File Header Utility version 3.00 + + +------------------------------------------------------------ +Memory Management Details +------------------------------------------------------------ + + MEMAVL returns the number of bytes from the top of the + heap to the end of DGROUP. If the heap needs to grow, it + will use this space. It should be noted that the space + allocated for the heap can only grow and NEVER SHRINK. + Therefore, during the course of a program, the value re- + turned by MEMAVL can only DECREASE (as the heap grows) and + NEVER INCREASE. The following diagram illustrates this + concept: + + --------------------------------- DGROUP:MAX + ! FREE SPACE NOT IN HEAP ! + --------------------------------- + ! HEAP ! + --------------------------------- + ! STACK ! + --------------------------------- + !STATICALLY ALLOCATED PART OF DS! + --------------------------------- DGROUP:0 + + FREECT(0)*2 returns the number of free bytes in the heap + plus the value returned by MEMAVL. + + FREECT(0)*2-MEMAVL returns the number of free bytes in the + heap itself. + + In version 3.2, a Pascal program allocates all of free + memory to itself. In version 3.3x, a Pascal program re- + turns space it doesn't need to DOS. Therefore, in version + 3.3x, DGROUP is at the top of the allocated space, and + offset 2 in the MS-DOS data area returns the segment para- + graph for the top of DGROUP. See also page 164 of the Mi- + crosoft Pascal Compiler User's Guide for further discuss- + ion of the "upper memory limit." + + +------------------------------------------------------------ +Differences between version 3.30 and version 3.20 +------------------------------------------------------------ + +A. The following sections have been modified or added to the + Microsoft Pascal User's Guide. + + Update: Microsoft Pascal 3.3 + + Appendix A - Differences Between Versions 3.2 and 3.3 + + Appendix E - Mixed-Language Programming + + Appendix F - Error Messages + + Microsoft LIB - Library Manager Reference Manual + + +B. The following files are provided with the Pascal v 3.3 + release, but are not completely documented in the User's + Guide. Whatever (additional) information is required to + use these files is provided in this document. + + EXEPACK.EXE - Utility for packing .EXE files in order to + reduce their size and allow faster loading (refer to + subsection A.10 of the Microsoft Pascal User's Guide). + + EXEMOD.EXE - Utility for viewing and modifying certain + header information in .EXE files (refer to subsection + A.11 of the Microsoft Pascal User's Guide). + + CEXEC.LIB - Portion of Microsoft C library providing + routines to support the use of the MS-DOS 'exec' + function (function call 4B hex). + + PASEXEC.INC - Interface declarations and documentation for + routines in CEXEC.LIB + + DEMOEXEC.PAS - Example program demonstrating how to use + the routines provided in CEXEC.LIB. + + EMOEM.ASM - Customization for the 8087. + + LVARSTK.OBJ - This object file provides a variable stack. + +Note: The version of LINK.EXE is actually v 3.02 (not 3.01, +as documented). + +Please refer to the update notice at the beginning of the +User's Guide for a complete list of the files which have +been added to the Pascal v 3.3 release. + + +C. If your machine has an 8087 or an 80287, you should read + this closely to see if this pertains to your hardware + configuration. All Microsoft languages which support the + 8087 need to intercept 8087 exceptions in order to + properly detect error conditions and provide reliable and + accurate results. The math libraries which contain the + 8087 exception handler and emulator (MATH.LIB and + 8087.LIB) are designed to work without modification with + the following machines: + + IBM PC family and compatibles, Wang PC + (any machine which uses NMI for 8087 exceptions) + Texas Instruments Professional Computer + + There is a source file EMOEM.ASM included with the release + that can be modified. Any machine which sends the 8087 + exception to an 8259 Priority Interrupt Controller (master + or master/slave) should be easily supported by a simple + table change to the EMOEM.ASM module. In the file there + are further instructions on how to modify the file and + patch libraries and executables. + + If your computer is not listed, and you need to modify the + EMOEM.ASM program, please contact your hardware + manufacturer for the specific information on the 8087 and + what needs to be modified. If your hardware manufacturer + is not aware of the changes that need to be made they + should contact the Microsoft OEM Group. + + The Microsoft Retail Product Support Group is not equipped + to help out in the customization of the EMOEM.ASM program. + + +D. The library file, CEXEC.LIB, contains the following + routines extracted from the Microsoft C compiler library + (Version 3.0). + + system - Invokes COMMAND.COM with a user-specified command + line. + + spawn - Loads and executes a specified .COM or .EXE file + (i.e., executes a child process). + + The file PASEXEC.INC contains INTERFACE declarations + allowing these routines to be called from Pascal and + extensive comments explaining how to use them. + + The file DEMOEXEC.PAS contains an example program + demonstrating the use of these routines. + + +E. The following is an updated list of language features, + noted in the User's Guide or Reference Manual, that are + not implemented in this release. + + 1. MARKAS and RELEAS are not supported in the release. + + 2. The $initchk metacommand does not check for + uninitialized REAL variables. + + 3. OTHERWISE is not accepted in RECORD declarations. + + 4. Code is generated for PURE functions, but no checking + is done. + + 5. The extend level operators SHL, SHR and ISR are not + available. + + 6. No checking is done for invalid GOTOs. + + 7. READ, READLN, and DECODE cannot have M and N + parameters. + + 8. Enumerated I/O, permitting the reading and writing of + enumerated constants as strings, is not available. + + 9. The metacommands $tagck, $standard, $extend, and + $system can be given, but have no effect. + + 10. The $inconst metacommand does not accept string + constants. + + +F. This section documents product features which are not + described in the User's Guide or Reference Manual. + + 1. Both the Pascal compiler and the runtime library + associate the name "ERR" with the MS-DOS standard error + device handle (generally abbreviated as stderr). Recall + that stderr is mapped to the physical console and, + unlike stdin and stdout, is not redirectable. Thus, the + command syntax: + + PAS1 ERR; + + will cause the Pascal compiler to expect source code + from the keyboard rather than a file named ERR.PAS. + Similarly, the command syntax: + + PAS1 TEST,,ERR; + + will cause the source listing output to written to the + console screen rather than a file named ERR.LST. + Finally, note that a file variable may be explicitly + attached to 'ERR' with, say, the ASSIGN procedure and, + thereby, attached to stderr. + + 2. Both the compiler and the runtime use the Xenix + compatible I/O system in MS-DOS 2.xx/3.xx (MS-DOS 1.xx + is no longer supported). Thus, both the compiler and the + user's program will access files in other directories if + the proper pathnames are specified. + + Since MS-DOS has a limit on the number of 'handles' that + may be simultaneously open for I/O, the user may + occasionally encounter an error 1034 ("too many open + files"). This may happen during execution of PAS1.EXE, + if there are nested include files. It may also occur at + runtime if the user tries to have too many files open at + the same time. In most cases, the problem is easily + circumvented using the "FILES = " statement in + the CONFIG.SYS file (see your MS-DOS manual for + details). However, there is a fixed upper limit in MS- + DOS of 20 handles (five preassigned plus 15 others) that + any single program may have open simultaneously. + + 3. There have been several recent changes to the behavior + and capabilities of the EXEMOD and EXEPACK utilities + provided on this release which are not covered in the + printed manuals. + + EXEPACK attempts to prevent you from compressing a file + onto itself. It is not infallible - it can be fooled by + a statement of the form: + + EXEPACK TEST.EXE .\TEST.EXE + + If it detects an attempt to compress a file onto itself + it will issue the message: + + exepack: cannot pack file onto itself + + and exit with return code 1. Also, when using EXEPACK + to compress an .EXE file with overlays, the compressed + file should be renamed back to the original name of the + linked file to avoid the overlay manager prompt (see + Overlays in the User Guide). + + EXEMOD has an undocumented switch, /h, which can be seen + in the usage prompt (it is not shown in the Users Guide + description of the usage prompt). This option CANNOT be + used with any of the other options, and it is equivalent + to typing: + + EXEMOD PROG.EXE + + That is, it simply displays the header fields of the + .EXE file without modifying them. + + EXEMOD has also been modified to work correctly on + packed (via EXEPACK) files. When it recognizes a packed + file, it will print the message: + + exemod: (warning) packed file + + If the stack value is changed, it modifies the value + that SP will have AFTER expansion. If either min or + stack is set, min will be corrected as necessary to + accomodate unpacking or stack. Setting max operates as + it would for unpacked files. + + If the header of a packed file is displayed, the CS:IP + and SS:SP values are displayed as they will be after + expansion, which is not the same as the actual values in + the header. + + The compiler executable files (PAS1, PAS2, and PAS3) are + not packed on the distribution diskettes. We recommend + that when you set up your own diskettes (as recommended + in the manual or otherwise), you run EXEPACK on all the + compiler executable files. You'll notice that the + savings is not great on most of them. + + Note: Refer to the MS-DOS Programmer's Reference manual + for further information on .EXE file headers. + + 4. Controlling the Stack Size - the /STACK Linker option: + + /STACK:number + + The /STACK option allows you to specify the size of the + stack for your program. The number is any positive + value (decimal, octal, or hexadecimal) up to 65,536 + (decimal). It represents the size, in bytes, of the + stack. + + Note: The EXEMOD utility, can also be used to change the + default stack size. + + 5. The allocation of memory for the stack is somewhat more + flexible than a simple fixed stack. + + In the User's manual, there is a warning that the + compiler front end and back end now use a fixed stack + and that, since the ratio of stack and symbol table + space varies from one compilation to another, some + programs that used to compile with previous versions, + will now fail for lack of memory. This is not strictly + the case. There is still a maximum amount of stack + space, but when the initial allocation of space for + symbol tables is exhausted, space will be allocated from + the area reserved for the stack. This will cause a + slight reduction in compilation rate if your program is + big enough for this to happen. If, however, your + program fails to compile because of lack of stack space, + (usually as a result of a very complex expression), you + can use EXEMOD on the compiler itself to increase the + space initially reserved for the stack. + + Your code compiled with this version will, by default, + use a fixed stack and you may see changes in its + behavior if it tends to use a lot of heap space or a lot + of stack. On the other hand, the fixed stack makes it + much safer to compile with stack checking disabled. + + If you want your program to use the stack space for + excess heap items, link with the object module, + LVARSTK.OBJ. Then, your program will have the same + flexibility in its stack allocation as do the compiler + passes themselves. If you further use EXEMOD to change + the default stack size to a much larger number, your + program will behave pretty much as it did with previous + versions, although allocation from the stack space is + not as efficient as from the initial heap space. In this + case, you should also compile with stack checking + enabled since unprotected collisions between the stack + and the heap can lead to unpredictable behavior. + + 6. The SIZEOF function has been enhanced. It is now + permissable to omit the second parameter if the variable + is a pointer to a super array. Thus, SIZEOF(P^), where P + is a pointer to a super array, is now a valid + expression. Note, however, that if in P^ has not been + allocated (with a NEW), SIZEOF(P^) is undefined. It is + the programmer's responsibility to check that P^ has + actually been allocated before using this form of the + SIZEOF function. + + +G. This section notes corrections to the documentation. + + 1. Microsoft User's Guide - Appendix A.8 - page 149: + + The 5th paragraph starts out: + + "The memory allocation is preset to 6144 (6K) + bytes...." + + This paragraph is actually referring to the Stack size, + and the 6K is incorrect. To verify the actual size of + the stack of the compiler passes that you have received, + please use the EXEMOD utility which displays the header + fields of an .exe file. + + 2. Microsoft Pascal User's Guide - Appendix A.12 - Page + 156: + + The segment contents for a Pascal program in memory are + listed below (from the highest memory location to the + lowest). + + Heap - The "heap" is the area of the default data + segment (DGROUP) that is available for dynamic + allocation at runtime via the NEW procedure. It does not + belong to a named segment and will not show up on a link + map. + + STACK - The STACK segment contains the user's stack, + which is used for all LOCAL data items. + + _BSS - The _BSS segment contains all UNINITIALIZED + STATIC DATA. + + EEND, EDATA - Defined and used by the runtime library. + + CONST - The CONST segment contains all CONSTANTS. + + P3CE, P3C, P3CB, P2CE, P2C, P2CB, P1CE, P1C, P1CB, P3IE, + P3I, P3IB, P2IE, P2I, P2IB, P1IE, P1I, P1IB, XCE, XC, + XCB, XIE, XI, XIB - Defined and used by the runtime + library. + + COMADS - Not used. Part of FORTRAN runtime support. + + _DATA - The DATA segment is the default data segment. + All INITIALIZED GLOBAL and STATIC data reside in this + segment. + + NULL - The NULL segment is a special purpose segment + that occurs at the beginning of DGROUP. The NULL segment + contains the compiler copyright notice. This segment is + checked before and after the program executes. If the + contents of the NULL segment change in the course of + program execution, it means that the program has written + to this area. This is usually caused by the use of an + uninitialized adr variable, ads variable or pointer. The + error message "Null pointer assignment" is displayed to + notify the user. + + __FBSS - Not used. Part of C runtime support. + + C_ETEXT - The C_ETEXT segment marks the end of the code + segments. It contains no data and is therefore a segment + of zero length. + + Code segments (listed as "module" in the illustration + on page 156) - Each module is allocated its own code + segment (also called a text segment). Code segments are + not combined, so there are multiple code segments. + However, all code segments have class CODE. + + It should be noted that segmented memory above DGROUP + may be accessed by the Pascal user via the long heap + allocator. Please refer to Section 8.2.1 in the Pascal + User's Guide for a decription of the necessary library + procedures. + + When implementing an assembly language routine to call + or be called from a Pascal program, you will probably + refer to the code and _DATA segments most frequently. + The code for the assembly language routine should be + placed in a user-defined segment with class CODE. Data + should be placed in whichever segment is appropriate to + their use, as described above. Usually this is the + default segment _DATA. + + If linking with MS-FORTRAN (3.30) routines, segments for + COMMON blocks or LARGE data items occur between __FBSS + and NULL. Each COMMON block has its own segment(s) and + class. Segments allocated for LARGE data items all have + class LARGE. In the case of a COMMON block with the NEAR + attribute, the segment occurs between EEND and _BSS, + which is then combined in DGROUP. + + If linking with MS-C (3.0) routines, data segments, + outside of DGROUP, required for the C routines are + occur between __FBSS and NULL. These segments will have + class name FAR_DATA or FAR_BSS depending on whether they + hold initialized C variables or uninitialized C + variables. + + 3. Microsoft Pascal User's Guide - Appendix A.12 - Page + 158: + + The following instructions in the entry and exit + sequences are NOT required: + + inc bp + dec bp + + The following instructions are included in order to + maintain compatibility with XENIX C, and therefore they + are OPTIONAL: + + extrn __chkstk:far + call __chkstk + + The following instructions are included in order to + maintain compatibility with MS-DOS C modules, and + therefore they are OPTIONAL: + + push di + push si + pop di + pop si + + 4. Microsoft Pascal User's Guide - Appendix D.2 - page + 176: + + It is not permitted to mask the invalid operation bit on + the 8087 control word. + + 5. Microsoft Pascal Reference Manual, Chapter 8.4.1 - page + 92: + + A TERMINAL mode file should be accessed as a file of + TEXT if input is to be READ from it. In particular, + since the console/keyboard is always treated as a + TERMINAL mode file, it should always be accessed as a + file of TEXT for READing. If single character, + unbuffered, unechoed input from the keyboard is + necessary, the function DOSXQQ should be used to call + for this service from MS-DOS directly (see Appendix B, + Version Specifics, of the Microsoft Pascal User's + Guide). + + 6. Microsoft Pascal Reference Manual, Chapter 15.2 - page + 240: + + The function, LMULOK, is the very function ultimately + called to perform the multiplication in any integer4 + product (e.g., the code generated for i := j * k;, where + i,j,k: integer4, will invoke LMULOK). Direct access to + this routine is supported so that the user can perform + an integer4 multiplication which overflows without + having the program abort with a fatal runtime error. + + The value of the product is well-defined only in the + case where the product does not overflow (i.e., LMULOK + returns TRUE). The reason for this is that the overflow + condition is generally detected before the + multiplication is complete and computation ceases as + soon as the overflow is detected. The documentation + indicates that the product is always computed and + returned and this is clearly incorrect! + + +H. The following public variables, defined in entx6l.asm in + earlier versions of MS-Pascal, no longer exist in version + 3.3. + + BEGHQQ + BEGMQQ + CURHQQ + ENDHQQ + ENDMQQ + MAXMQQ + + The following public variables, defined in entx6l.asm in + earlier versions of MS-Pascal, still exist in version + 3.30. Note, however, that only CESXQQ, CRCXQQ, CRDXQQ and + DOSEQQ are intended for direct access by the user. + + CESXQQ - DOS saved ES value (for command line) + CLNEQQ - last line number encountered + CRCXQQ - value of CX for DOS call + CRDXQQ - value of DX for DOS call + CSXEQQ - pointer to sourcef context list + DGRMQQ - segment of DGROUP + DOSEQQ - DOS return code + HDRFQQ - Unit F open file list header + HDRVQQ - Unit V open file list header + PNUXQQ - pointer to unit initialization list + RECEQQ - machine error context, program segment + REFEQQ - machine error context, frame ptr + REPEQQ - machine error context, program offset + RESEQQ - machine error context, stack ptr + STKBQQ - stack start, to fix long GOTO + STKHQQ - stack limit, to check overflow + UPCX87 - offset address of 8087 error context + + +I. When reporting a suspected problem with the compiler to + the Retail Product Support Group, we ask that you please + provide the following information to help us in tracking + down the problem. + + 1. The shortest possible example which can be used to + demonstrate the alleged problem (the example should be + provided in source code, on a standard 5 1/4" MS-DOS + disk or a hard copy listing if it is very short). + + 2. A complete description of the symptoms of the problem + including complete directions on reproducing these + effects with the supplied example (compilation options + used, libraries linked with,...,etc.). + + 3. The compiler version number (from the logo that is + printed out when you run PAS1). + + 4. Your system configuration, both hardware (machine, + total memory, coprocessor,...,etc.) and software + (version of DOS, terminate-and-stay-resident utilities + or unusual system software, free memory as indicated by + chkdsk,...,etc.). + + Having this information will be of immense help to us in + our effort to diagnose and solve your problem. + \ No newline at end of file diff --git a/Microsoft Pascal v3.31/SIEVE.PAS b/Microsoft Pascal v3.31/SIEVE.PAS new file mode 100644 index 0000000..618dc2f --- /dev/null +++ b/Microsoft Pascal v3.31/SIEVE.PAS @@ -0,0 +1,32 @@ +program sieve( INPUT, OUTPUT ); +(*$DEBUG- *) + +const + size = 8190; + +type + flagType = array[ 0..size ] of boolean; + +var + i, k, prime, count, iter : integer; + flags : flagType; + +begin + for iter := 1 to 10 do begin + count := 0; + for i := 0 to size do flags[ i ] := true; + for i := 0 to size do begin + if flags[ i ] then begin + prime := i + i + 3; + k := i + prime; + while k <= size do begin + flags[ k ] := false; + k := k + prime; + end; + count := count + 1; + end; + end; + end; + + writeln( 'count of primes: ', count ); +end. diff --git a/Microsoft Pascal v3.31/SORT.PAS b/Microsoft Pascal v3.31/SORT.PAS new file mode 100644 index 0000000..b9713f5 --- /dev/null +++ b/Microsoft Pascal v3.31/SORT.PAS @@ -0,0 +1,59 @@ +{ Bubble Sort Demonstration Program } +{ Microsoft Pascal 3.1 } + +{ The main routine reads from the terminal an array } +{ of ten real numbers and calls the procedure BUBBLE } +{ to sort them. } + +program BubbleSort(input,output); + + const + TABLEN = 10; { Length of reals table } + + type + TABLE = array[1 .. TABLEN] of real4; + { Table of reals type } + var + R: TABLE; { The table itself } + i: integer; { Table index } + + procedure Bubble(var t: TABLE); { The sorting routine } + var + i: integer; { Index variable } + j: integer; { Index variable } + temp: real4; { Exchange variable } + begin + for i := 1 to 9 do { Outer loop } + begin + for j := i + 1 to 10 do { Inner loop } + begin + if (t[i] > t[j]) then { Sort in ascending order } + begin + temp := t[i]; { Perform the } + t[i] := t[j]; { exchange of } + t[j] := temp; { table elememts } + end; + end; + end; + end; + + begin + writeln(' Bubble Sort Demonstration Program.'); + for i := 1 to 10 do { Loop to read in reals } + begin + writeln(' Please input real number no. ',i:2); + { Prompt user } + readln(R[i]); { Read response } + end; + Bubble(R); { Sort the array } + writeln; { Skip a line } + writeln(' The sorted ordering from lowest to highest is:'); + { Print a header } + for i := 1 to 10 do { Loop to print array } + begin + write(R[i]); { Write a number } + if (i mod 5 = 0) then writeln; + { Five numbers per line } + end; + end. + diff --git a/Microsoft Pascal v3.31/TAP.PAS b/Microsoft Pascal v3.31/TAP.PAS new file mode 100644 index 0000000..4bf83e7 --- /dev/null +++ b/Microsoft Pascal v3.31/TAP.PAS @@ -0,0 +1,82 @@ +program tap( output ); + +var + loops, i, rsf, prev, total, greatest, a, b, c : integer; + v, ri, rtotal : real; + +function gcd( m : integer; n : integer ) : integer; +var + a, b, r : integer; +begin { gcd } + a := 0; + if ( m > n ) then begin + b := m; + r := n; + end + else begin + b := n; + r := m; + end; + + while ( 0 <> r ) do begin + a := b; + b := r; + r := a MOD b; + end; + + gcd := b; +end; { gcd } + +procedure first_implementation; +var + total, i, prev : integer; + sofar, ri, iq : real; +begin + total := 10000; + sofar := 0.0; + prev := 1; + + for i := 1 to total do begin + ri := i; + iq := ri * ri * ri; + sofar := sofar + ( 1.0 / iq ); + if ( i = ( prev * 10 ) ) then begin + prev := i; + write( ' at ', i ); + writeln( ' iterations: ', sofar ); + end; + end; +end; + +begin { tap } + writeln( 'tap starting, should tend towards 1.2020569031595942854...' ); + + writeln( 'first implementation...' ); + first_implementation; + +{ no Random + writeln( 'second implementation...' ); + loops := 10000; + total := 0; + prev := 1; + + for i := 1 to loops do begin + a := Random( 32767 ); + b := Random( 32767 ); + c := Random( 32767 ); + + greatest := gcd( a, gcd( b, c ) ); + if ( 1 = greatest ) then total := total + 1; + if ( i = ( prev * 10 ) ) then begin + prev := i; + rtotal := total; + ri := i; + v := ri / rtotal; + writeln( ' at ', i, ' iterations: ', v ); + end; + end; +} + + writeln( 'tap completed with great success' ); +end. { tap } + diff --git a/Microsoft Pascal v3.31/TTT.PAS b/Microsoft Pascal v3.31/TTT.PAS new file mode 100644 index 0000000..7f5ec15 --- /dev/null +++ b/Microsoft Pascal v3.31/TTT.PAS @@ -0,0 +1,297 @@ +{ App to prove you can't win at Tic-Tac-Toe } +{ coded for Microsoft Pascal. Tested on v1.0, v3.3, and v4.0. } +{ requires djldos.obj, built from djldos.asm } +(*$DEBUG- *) + +program ttt( output ); + +function getticks : word; External; +function pspbyte( offset : word ) : integer; External; + +const + scoreWin = 6; + scoreTie = 5; + scoreLose = 4; + scoreMax = 9; + scoreMin = 2; + scoreInvalid = 0; + + pieceBlank = 0; + pieceX = 1; + pieceO = 2; + + iterations = 1; + +type + boardType = array[ 0..8 ] of integer; + +var + evaluated: integer; + board: boardType; + +procedure dumpBoard; +var + i : integer; +begin + Write( '{' ); + for i := 0 to 8 do + Write( board[i] ); + Write( '}' ); +end; + +function lookForWinner : integer; +var + t, p : integer; +begin + { dumpBoard; } + p := pieceBlank; + t := board[ 0 ]; + + if pieceBlank <> t then + begin + if ( ( ( t = board[1] ) and ( t = board[2] ) ) or + ( ( t = board[3] ) and ( t = board[6] ) ) ) then + p := t; + end; + + if pieceBlank = p then + begin + t := board[1]; + if ( t = board[4] ) and ( t = board[7] ) then + p := t + else + begin + t := board[2]; + if ( t = board[5] ) and ( t = board[8] ) then + p := t + else + begin + t := board[3]; + if ( t = board[4] ) and ( t = board[5] ) then + p := t + else + begin + t := board[6]; + if ( t = board[7] ) and ( t = board[8] ) then + p := t + else + begin + t := board[4]; + if ( ( ( t = board[0] ) and ( t = board[8] ) ) or + ( ( t = board[2] ) and ( t = board[6] ) ) ) then + p := t + end; + end; + end; + end; + end; + + lookForWinner := p; +end; + +function winner2( move: integer ) : integer; +var + x : integer; +begin + case move of + 0: begin + x := board[ 0 ]; + if not ( ( ( x = board[1] ) and ( x = board[2] ) ) or + ( ( x = board[3] ) and ( x = board[6] ) ) or + ( ( x = board[4] ) and ( x = board[8] ) ) ) + then x := PieceBlank; + end; + 1: begin + x := board[ 1 ]; + if not ( ( ( x = board[0] ) and ( x = board[2] ) ) or + ( ( x = board[4] ) and ( x = board[7] ) ) ) + then x := PieceBlank; + end; + 2: begin + x := board[ 2 ]; + if not ( ( ( x = board[0] ) and ( x = board[1] ) ) or + ( ( x = board[5] ) and ( x = board[8] ) ) or + ( ( x = board[4] ) and ( x = board[6] ) ) ) + then x := PieceBlank; + end; + 3: begin + x := board[ 3 ]; + if not ( ( ( x = board[4] ) and ( x = board[5] ) ) or + ( ( x = board[0] ) and ( x = board[6] ) ) ) + then x := PieceBlank; + end; + 4: begin + x := board[ 4 ]; + if not ( ( ( x = board[0] ) and ( x = board[8] ) ) or + ( ( x = board[2] ) and ( x = board[6] ) ) or + ( ( x = board[1] ) and ( x = board[7] ) ) or + ( ( x = board[3] ) and ( x = board[5] ) ) ) + then x := PieceBlank; + end; + 5: begin + x := board[ 5 ]; + if not ( ( ( x = board[3] ) and ( x = board[4] ) ) or + ( ( x = board[2] ) and ( x = board[8] ) ) ) + then x := PieceBlank; + end; + 6: begin + x := board[ 6 ]; + if not ( ( ( x = board[7] ) and ( x = board[8] ) ) or + ( ( x = board[0] ) and ( x = board[3] ) ) or + ( ( x = board[4] ) and ( x = board[2] ) ) ) + then x := PieceBlank; + end; + 7: begin + x := board[ 7 ]; + if not ( ( ( x = board[6] ) and ( x = board[8] ) ) or + ( ( x = board[1] ) and ( x = board[4] ) ) ) + then x := PieceBlank; + end; + 8: begin + x := board[ 8 ]; + if not ( ( ( x = board[6] ) and ( x = board[7] ) ) or + ( ( x = board[2] ) and ( x = board[5] ) ) or + ( ( x = board[0] ) and ( x = board[4] ) ) ) + then x := PieceBlank; + end; + end; + + winner2 := x; +end; + +function minmax( alpha: integer; beta: integer; depth: integer; move: integer ): integer; +var + p, val, pieceMove, score : integer; +begin + evaluated := evaluated + 1; + val := scoreInvalid; + if depth >= 4 then + begin + p := winner2( move ); { lookForWinner; } + if p <> pieceBlank then + begin + if p = pieceX then + val := scoreWin + else + val := scoreLose + end + else if depth = 8 then + val := scoreTie; + end; + + if val = scoreInvalid then + begin + if Odd( depth ) then + begin + val := scoreMin; + pieceMove := pieceX; + end + else + begin + val := scoreMax; + pieceMove := pieceO; + end; + + p := 0; + repeat + if board[ p ] = pieceBlank then + begin + board[ p ] := pieceMove; + score := minmax( alpha, beta, depth + 1, p ); + board[ p ] := pieceBlank; + + if Odd( depth ) then + begin + if ( score > val ) then + begin + val := score; + if ( val = scoreWin ) or ( val >= beta ) then p := 10 + else if ( val > alpha ) then alpha := val; + end; + end + else + begin + if ( score < val ) then + begin + val := score; + if ( val = scoreLose ) or ( val <= alpha ) then p := 10 + else if ( val < beta ) then beta := val; + end; + end; + end; + p := p + 1; + until p > 8; + end; + + minmax := val; +end; + +function firstArgAsInt : integer; +var + psp, offset : word; + c, result : integer; + location : ads of byte; +begin + result := 0; + + offset := 128; + c := pspbyte( offset ); + if c > 0 then begin + offset := offset + 2; { past length and space } + c := pspbyte( offset ); + while ( ( c >= 48 ) and ( c <= 57 ) ) do + begin + result := result * 10; + result := result + c - 48; + offset := offset + 1; + c := pspbyte( offset ); + end; + end; + + firstArgAsInt := result; +end; + +procedure runit( move : integer ); +var + score: integer; +begin + board[move] := pieceX; + score := minmax( scoreMin, scoreMax, 0, move ); + board[move] := pieceBlank; +end; + +var + i, loops : integer; + startTicks, endTicks: word; +begin + i := firstArgAsInt; + if 0 <> i then loops := i + else loops := Iterations; + + for i := 0 to 8 do + board[i] := pieceBlank; + + WriteLn( 'begin' ); + startTicks := getticks; + + for i := 1 to loops do + begin + evaluated := 0; { once per loop to prevent overflow } + runit( 0 ); + runit( 1 ); + runit( 4 ); + end; + + endTicks := getticks; + WriteLn( 'end ticks: ', endTicks ); + WriteLn( 'start ticks: ', startTicks ); + WriteLn( 'difference in hs: ', endTicks - startTicks ); + + if startTicks > endTicks then begin { passed a 10 minute mark } + endTicks := endTicks + 60000; + WriteLn( 'corrected in hs: ', endTicks - startTicks ); + end; + + WriteLn( 'moves evaluated: ', evaluated ); + WriteLn( 'iterations: ', loops ); +end. diff --git a/Microsoft Pascal v3.31/djldos.OBJ b/Microsoft Pascal v3.31/djldos.OBJ new file mode 100644 index 0000000000000000000000000000000000000000..89721e6f4a5a936f7d24e5c97f362cffbafade2f GIT binary patch literal 353 zcmZqRVc<&1%1OyD)=MnTt?p1@U|^65DJ@FMS8yyYPR&iqNi9-P2um$0&dkqKFxE4g z*&)Q>@baKvZ#a^^zz$}hpwBcW28Ij}bK#U}LJZt4UOq1V!SNxk5g{zj{w}VkX0S7O zFfcGNGYU`RVPK7SaSU-}0TG8F5-hBY{L|PNz-nEALJ4UMY>bSPr*SZ_xwr@UhX!=d zVqswa&lEL*mw|zq&D}L5AUME`fgx}LKakG>dwIM zs)L2WVG-lR1z8Nt3=F}6LE&Lrbj~UUZDHs-wmXI4`{Sr>49tfDx(}-UXV}Tbu#17= z`^WA>I}60WKa6HR92XxI8GRa}E9tCaH?ja*X!n~fK*7Gl-El%jPt>~DW7#3<*}8zi GQ33$VOKt%G literal 0 HcmV?d00001 diff --git a/Microsoft Pascal v3.31/djldos.asm b/Microsoft Pascal v3.31/djldos.asm new file mode 100644 index 0000000..275a5fc --- /dev/null +++ b/Microsoft Pascal v3.31/djldos.asm @@ -0,0 +1,121 @@ +; utility functions for calling into DOS from Microsoft Pascal v1 through v4 +; +; function dostime : word; External; +; var startTicks: word; +; startTicks := dostime; +; +; function getpsp : word; External; +; var psp : word; +; psp := getpsp; +; +; function pspbyte( offset : word ) : integer; External; +; var result : integer; +; result := pspbyte( 80 ); { get command tail length } +; + +.model large + +code segment +assume cs:code + +; returns a count of hundredths of a second in ax +; only uses hs, seconds, and the low digit of minutes since that's all that fits in two bytes +; 54000 = 9 * 60 * 100 +; + 5900 = 59 * 100 +; + 99 +; -------- +; 59999 + +public getticks +getticks PROC FAR + push bx + push cx + push dx + push di + push si + + mov ah, 2ch + int 21h + push dx + mov ah, 0 + mov al, dh + mov bx, 100 + mul bx + pop dx + mov dh, 0 + add ax, dx + + push ax + mov ax, cx + and ax, 0ffh + mov cx, 10 + mov dx, 0 + div cx + mov ax, dx + mov cx, 6000 + mul cx + pop bx + add ax, bx + + pop si + pop di + pop dx + pop cx + pop bx + ret +getticks ENDP + +public getpsp +getpsp PROC FAR + push bx + push cx + push dx + push di + push si + + mov ah, 062h + int 21h + mov ax, bx + + pop si + pop di + pop dx + pop cx + pop bx + ret +getpsp ENDP + +public pspbyte +pspbyte PROC FAR + push bx + push cx + push dx + push di + push si + push es + push bp + + mov bp, sp + mov ah, 062h + int 21h + mov es, bx + + ; the argument is here. 7 pushes above + 2 for the return address = 9 * 2 = 18. + + mov bx, word ptr[ bp + 18 ] + xor ah, ah + mov al, byte ptr es: [ bx ] + + pop bp + pop es + pop si + pop di + pop dx + pop cx + pop bx + ret +pspbyte ENDP + +code ends +end + diff --git a/Microsoft Pascal v3.31/m.bat b/Microsoft Pascal v3.31/m.bat new file mode 100644 index 0000000..fdfcfed --- /dev/null +++ b/Microsoft Pascal v3.31/m.bat @@ -0,0 +1,6 @@ +ntvdm -c pas1 %1,%1,%1,%1 +ntvdm -c pas2 +ntvdm -c pas3 +ntvdm -c link %1 djldos,,,, + +ntvdm -p %1 diff --git a/Microsoft Pascal v3.31/mspv3.exe b/Microsoft Pascal v3.31/mspv3.exe new file mode 100644 index 0000000000000000000000000000000000000000..d0fe0fd3b165091f4fb119bad3ebf228b81387f0 GIT binary patch literal 24410 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 V`4!dp;tz&K$toAIUuRfn_&