IMD 1.18: 21/11/2016 15:47:30 pascal-86 software package 2 of 2 123580-003 ver 2.0 sd 1980,81,82  12358000342 1<666666666666666666666666666666666666666666666666666666666666666666666666666y{0!0 N #0 NON-SYSTEM DISK, TRY ANOTHER        ISISDIRISISMAPISIST0ISISLABCEL87LIB`E8087~ EH87LIBqn 87NULLLIB' 8087LIB E8087LIB!P86RN0LIB(P86RN1LIB%P86RN2LIB (P86RN3LIBU..RTNULLLIB%0SIII87OBJ 1PRG2B1SRC2PRG2B2SRCc3PROG1SRC^3PROG2ASRC]3PROG3SRCY5PROG4SRC*5PROG5SRCS6PROG6SRC7PROG7SRC %8PROG8SRC:PROG9SRC ;SIII87SRCS;DATA2w<DATA3 <DATA4O<  <<0$ j|? XXR X               4KCOPYRIGHT1981INTELCORP1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0CODE MQ_CEL_CODE??SEGzhH(C) 1981 INTEL CORP.tVERSIONNUMBERV0201SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0CODE MQ_CEL_CODE??SEGzhHV020ntNORM:1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH!H T M:_WSTMQ_NORM @AC}@%ɛɛɛ.VVYV VVVVVVVntYL2XG1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH7ԘHTM:_WSTMQ_CONSTMQ_YL2X, @AC};~frÛ~F@uÛ7VVV V RtVVVV"V%V/V3V5tMQRPI1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH@˘HTM:_WSTMQ_CONSTMQ_MQRPIМ @AC}D՛.ɛ~FuÛ؛ś.ɛ~FuΣEVVV R4 VVVV V#V&V)R +V.V1V;VqtIRCHK1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH-ޘHTM:_WSTMQ_RERRMQ_EXITMQ_IRCHK @AC}1~N"Nut fFuVV'V+wtRI21SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHPH T$M:_WTM:_WSTMQ_IRCHKMQ_CONSTʐMQERIC2eMQERIE2 YMQERIA2bMQERCI2eMQERNI2UMQERRI2 L @AC}~TU؛~l<u~Ft&^FɜMYY Y]VV!V)V,V6V9Rh=V@RhBVEVIVNtY2X1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHNHyToM:_WSTMQ_NORMMQ_YL2X MQ_DECIDEMQ_NQMQ_NANMQ_EXITMQ_TXAMMQ_RERRMQ_QMQ_IMQ_2XM1MQ_CONSTMQERYIS !MQERYI4:MQERYI2=MQERY2X@ @AC} ›ɛwVV V VVVdtTXAM<1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKX; X4 R R R R XBXIXXR X XP"X]$R &R (X*X,X>.X>0Xb2Xv4X6X8XF:XFX@XBXDXFXlX$nXpX$rXtXvXxXzX|X~XĀXĂXĄXĆXĈXĊXRU؛~.ċ2rUMrbZssYsl>ru@ڛ~ftHr&ڛ~ft4rFt,؛؛.*Ft؛؛؛؛  u~F@uƄƈ u~F@u„ˆ$׊$<$rs ċ2V~Fu u؋~Vr~~fr5~fs0t~F$tFFu.-؛ ؛.FFt ؛nsF~F~؛بuF@t tt^_XWV u؛˾x t̀ɛV›ڛћ~F +F=sF +FFFF nɛفt̀tx9f@sf~F$=FfԄu Faus؛(~F?tǛ؛ 뚛stsuÉ~VFúYh ]VVR YH%YX(2YX [bVeVhVvVyV|VĎVđVĔVėR ĢVĥVĨVĮVıVĴV VVVVVVYHYXYVV#V2VD FVIVMVPVTVVYR p[VeVhR rjVu yVŎVőVŔVŚVŝVŤVŧVŪR ŶVżVſVĂ Vӂ VVVVVVVVVVYj"2V68V;V>VBVEVHVKVNVQVTVWVzV~VƃVƆR rƈVƋVƎVƼVVڂ V VVVV V VVVV"V'V0V3V:V?VIVϊtAMODU1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHH T-M:_WSTMQ_NORMMQ_NANMQ_RERRMQ_CONSTmMQERRMD@MQERMOD> @AC}iznU؛~.~~^uu~FEt]VNVQVVVZ\V_VbVeVhVkVnVqVtVwVĎVēVĖVġVĦVĩVįVIJVĵVՂVVVVRVVVVVϊtDIM1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH}H T3M:_WSTMQ_NANMQ_IMQ_RERRMQ_EXITMQ_CONSTMQERDIMI @AC}eU؛~F 9Fnћ~fru~F$E<tt~F^"u ٛ؛tɛʛٛ9{Y ]VVV"V.V1V>VDHVKVNV^VaVehjVmVpRVvVyV|VVĂVąVVNJtRAD1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHHTM:_WSTMQ_CONST MQ_RAD @AC} VVtMQ_63U1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST STACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHrHT3M:_WSTMQ_EXITMQ_NANMQ_IMQ_RERRMQ_CONSTMQ_TXAM! @AC}vr~rF@t$ $VVVR z V+-V2V5V:V=V@VCVFVIVLVOVWV[bVfi<tRERR;1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHrHT2ՎM:_WTM:_WSTM:_NSTMQ_EXITxMQ_RERR @AC}PNFԄu-~t|t^/~8Ft@H3CF"%F F^ FFXfXnf].>tvFNñ2VV"V%V+V.VpVtVxVąXtČVVt MQ_63U11SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHHT'M:_WST MQ_CP2N63MQ_RERRMQ_CONSTMQ_63U1l @AC}؛F RRRRR R5Fٛ~ft r؛.ttOPYVMQ_CEL_CODE MQ_CEL_CODE??SEGhH HT MQ_CP2N63MQ_RERRMQ_CONST MQ_63U @AC}Fs  >tCOS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHH"T1MQ_COSMQ_IMQ_NANMQ_1MQ_63U1 MQ_DECIDEbMQERCOS> @AC}&rĜaRRRR R RRRRRRRRRR Re  Y*tMQ_1H1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH HT%M:_WSTMQ_EXITMQ_RERRMQ_CONSTX MQ_10 @AC} ؛VV tTAN1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHWH"TCM:_WSTMQ_MQRPIMQ_QMQ_EXITMQ_IMQ_NANMQ_63U MQ_DECIDEMQERTAN@ @AC}&sÜ_RRRR X RXRRRRRRRR R5[2@tӨtٛ~F@tt!؛ětɛtNY VVV"V0V3V6V:ʛ.>tt؛鐜 V#V*V1V4RR8V;Y=VGVJVMVPVSVVV]V`VcVfViVlVoRfqVvVyV|VVĂVąRxćVĊVčRfĔVĞVġVtMQ_NQ؈1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH HTMQ_EXITMQ_RERRMQ_CONSTK MQ_NQ @AC}NFv R tMQ_U01SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH HTMQ_EXITMQ_RERRMQ_CONSTK MQ_U0ڜ @AC}NFj RH ݊tACS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHHØH"TXM:_WSTMQ_AT2MQ_RADMQ_EXITMQ_IMQ_NANMQ_PI2 MQ_63UPI2 MQ_DECIDEMQ_CONSTMQERACSL @AC}&u_RRRR X RXRRRRRRRR R'Lٛ~ftr"ɆttԜTY V V VVV$')V1V57V;BVFzt MQ_63UPI21SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH HT MQ_CP2N63MQ_RERRMQ_CONST MQ_63UPI2Μ @AC}FqR* tSIN1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHH"T3MQ_SINMQ_EXITMQ_IMQ_NANMQ_63U MQ_DECIDEMQERSIN9 @AC}&q SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhŜaRRRR R RRRRRRRRRR Re  Y*tCOSHI1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHOH"TeM:_WSTMQ_1MQ_PIIMQ_OFMQ_EXM1MQ_RERRMQ_EXITMQ_IMQ_NANMQ_63U1 MQ_DECIDEMQ_CONSTMQERCSHE @AC}&oǜ^R R R R X RXXIRRRRRRR RڠS.ٛ~fr#uɛt(fY V V R >VVV#V&V)V,V/V2V5V8V<CVGIVMktTANHK1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHwH"TUM:_WSTMQ_1MQ_EXM1MQ_RERRMQ_EXITMQ_IMQ_NANMQ_63U MQ_DECIDEMQ_CONSTBMQERTNH9 @AC}&pƜ]RRRR X XoXXoRRRRRRR RK{~fwW~fv=uɛțɛ.>.t؛Y V V R bVVR zV'V+-V2V5V8V;V>VAVDVGVLVOVRR xTVWVZR f\V_R aViVmoVrVtMQ_Q(1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH HTMQ_EXITMQ_RERRMQ_CONSTK MQ_Q @AC}NFv R tDECIDEԈ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH4טHTM:_WSTMQ_RERRMQ_CONST MQ_DECIDE @AC}8U؛~~.^x``d] VVVVR9tMQ_OF1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH HTMQ_EXITMQ_RERRMQ_CONSTK MQ_OFʜ @AC}NFr R tMQ_NOF1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH HTMQ_EXITMQ_RERRMQ_CONSTK MQ_NOFz @AC}NFr R tLOG1011SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHH"T=MQ_LOGDNMQ_NQMQ_PIIMQ_LOG10MQ_IMQ_NAN MQ_DECIDEMQERLGDL @AC}&mɜaRRRR R RRRRRRRRRR RR  Y)tLN1 MYY Y]VV!V)V,V6V9Rh=V@RhBVEVIVQtAINTJ1SERIES-III 8086/8087/808HH"T;MQ_LOGDNMQ_NQMQ_PIIMQ_LOGMQ_IMQ_NAN MQ_DECIDEMQERLGEK @AC}&lʜaRRRR R RRRRRRRRRR RR  Y)t MQ_EXM1X1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHUHT%M:_WSTMQ_EXITMQ_RERRMQ_CONSTXMQ_2XM1MMQ_EXM1@ @AC}Yɛ~ftwڛ~ft çYVVV V VVVV!V$V'V*V-V0V5V8V;V>VHVKVNVQVZtAT21SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHbHTM:_WSTMQ_CONST MQ_AT2 @AC} QXYX?XIXQfћ~ftwɀ؛؛...tݜeVVV VVV#V)V.Y0V3V6V9R4=Y?VBR*DVIVLVQVTR*VV^VtATANR1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH&H"TEM:_WSTMQ_AT2MQ_EXITMQ_IMQ_NANMQ_63U MQ_DECIDEMQ_CONSTMQERATN@ @AC}&v]RRRR X XXXRRRRRRR R*؛.t4Y VVVR* V$tATAN21SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH$H@ϘT3M:_WSTMQ_TXAMMQ_RERRMQ_IMQ_AT2MQ_CONST4MQERAT2\ @AC}Dw pORRXX X XXRXXXXXX8X8Ҡ(Uؾ~.rVxW2u9~Ft/NFu%؛ʛɛٛ)ٛ)x t .ٛtF%/v( r~rF@us~fsÛ_] YVVRY %Y0(6Y8V;V?EVYV\V_VbVeVhVkVnRVpVsVvVyV~VāVĒVėVĚR*ĞVġVĤVĬVVVVVVVVVVV VVRRVV"tINT1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHSH T$M:_WTM:_WSTMQ_IRCHKMQ_CONSTʐMQERIC4cMQERIE4 WMQERIA4`MQERIRT *MQERNIN9MQERINT8 @AC}yh{РWU؛~l͘H T3M:_WSTMQ_NANMQ_IMQ_RERRMQ_EXITMQ_CONSTMQERMIN? @AC}ԠBU؛~F 9Fnћ~fr tڜ-Y ]VVV"V0V68V<tMAX1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhH?̘H T3M:_WSTMQ_NANMQ_IMQ_RERRMQ_EXITMQ_CONSTMQERMAX= @AC}ӠCU؛~F 9Fnћ~fsttɛ            -Y ]VVV"V3V6V:=tSIGNE1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.0FSTACKSTACK MQ_CEL_CONST MQ_CEL_CONST MQ_CEL_CODE MQ_CEL_CODE??SEGhHGĘH TM:_WSTMQ_NANMQ_EXITOMQERSGN; @AC}dKU؛~F Fn~fr ؛t ؛?Y ]VV V#V-V0V48V;V>VBEtFCOPYRIGHT1981INTELCORPVERSIONNUMBERV020NORMYL2XMQRPIIRCHKRI2Y2XAMODDIMRADTXAMMQ_NAN CONSTANTSCP2N63MQ_ISINHRERRMQ_63U1MQ_63UCOSMQ_1TANEXPMQ_PI2MQ_P0ASNMQ_LOGMQ_PIICOMMON_SIN_COSMQ_NQMQ_U0ACS MQ_63UPI2SINCOSHTANHMQ_QDECIDEMQ_OFMQ_NOFLOG10LNMQ_EXM1AT2ATANATAN2INTAINTMINMAXSIGN 0A s u @P"p(c-/82~5W7u:0<KBE^HJ6MmPTiZ\<^ucFf|i!n p=rZw@yl}%1u1v6l|GZ+:auMQ_NORMMQ_YL2XMQ_MQRPIMQ_IRCHKMQERNI2MQERRI2MQERCI2MQERIE2MQERIC2MQERIA2MQERYISMQERY2XMQERYI4MQERYI2MQERMODMQERRMDMQERDIMMQ_RADMQ_TXAMMQ_NANMQ_CONST MQ_CP2N63MQ_IMQERSNHMQ_EXITMQ_RERRMQ_63U1MQ_63UMQERCOSMQ_1MQERTANMQEREXPMQ_PI2MQ_P0MQERASNMQ_LOGDNMQ_LOG10MQ_LOGMQ_PIIMQ_COSMQ_SINMQ_NQMQ_U0MQERACS MQ_63UPI2MQERSINMQERCSHMQERTNHMQ_Q MQ_DECIDEMQ_OFMQ_NOFMQERLGDMQERLGEMQ_2XM1MQ_EXM1MQ_AT2MQERATNMQERAT2MQERIRTMQERINTMQERNINMQERIC4MQERIA4MQERIE4MQERICXMQERIAXMQERIEXMQERANTMQERAINMQERRNTMQERMINMQERMAXMQERSGN/                                                     t&>t uÀ P G G G GXN^R 6;!ƀA?MDC hxP x ˎoINT20INT21INT22INT23INT24INT25INT26INT27INT28INT29INT30INT31COPYRIGHT1981INTELCORP(C) 1981 INTEL CORP.VERSIONNUMBERX014 X014IA?MAB$Q -)$t&> u::&@R ^"s A?MARQ -Jx.z.G|.G~.G.Glûjkûkûkûkÿj&>t.l`-t l`kSjzu>|u>~u>ukk:&RP>; u&Q>S u&i:R$V^X>ju::&RR u j>u&> u>;u>St$2.>txPj&jXlw:u#>u.>~u'>|u >zukkj&Á>ltuiĀ>;u&> u<;>Su&> uTS>;t>Su&>u&ÊS>;2$<t< t<t....j&::&Rtj :RR>buɃ>duƒ>fu>hu&>t&R>$u:&:u&>`RXJcXToX^{XhȘ^V'ƀ.'^V'!b .&b^6s ;!Ź6Ż6Žſ XXXXXX"XX"XXXXXX"XXXX"XXXXXXXXX,XXXXXXXXX, ^R !U#WXl&t(s ;!rX/wXA|X ǁX Bt1A?MATJjT+<=~B=?~:j.jlwt.xH#`H&>ubxHHx``x`H>t``H>wzH&H`Hx H&H`x`&`࿯x&xxH`HHHx`x&`>tPH&xXrxHx.s &`Hx>tH&H>QuH<?)<:`<ljkj&öOR = GX^J&R(g5mb))6<)~6<ĿXJŀKȀ~6р<߀<)((-(0 9<C)Q<[)o<r~6{<<<)()Ā<(< )< :(K+~64<E)g(z\)}XTK~6(s ;!A?MCHQ -(t&> u::&R ^!s A?MCOQ -$tRS3T`bdfh&;STĻ<w<t0t+HQ;nĻ`iS`&>t% u< t &< t$xKt>tj<u!< tu  `RT?``j.jlw tk<HH`HH               &&&&&&&&&&&&&&& ,- !"#$%&  '(  )*+ۜAX X X7 X2 X X X X X) X` X7 X2 X` X` X` X` X "X $X7 &X2 (X *X ,X .X 0X) 2X` 4X7 6X2 8X` :X) X2 @X BX DX7 FX2 HX JX LX NX PX) RX` TX7 VX2 XX` ZX` \X` ^X` `X bX dX7 fX2 hX jX lX nX pX) rX` tX7 vX2 xX) zX) |X2 ~X2 -z  L sX X X7 X7 X) X) X) X) X) X) X) X "X $X &XD (X ,X` .X` 0X 2X 4X 8X :X @X` BX` DX` FX` + @O  #u$ж̀tz܀8$ 2.$.2.GwW%gGLt=tt 2t3ɉO.t) t$% 2.$.t%8 2.$.8&&'u{È#.&ڈ# #.â.t$ #{0&1t\&'.($ â9]&01&&'â&'&&#&'Îe XJ XJ Xz X XJ Xa XJ Xa X X X "X tX}X ĄXXXV X $X 2X" A?MDNb ȇG+ȃCrC_2([A?MDIQ -~z #8C#;C~|zyUP3xz|~`22&_. .HJL>N6PAr>N +`bd>f6h`bd>f6h&xz|~u>N `bd>f6hHJL>N6P &x]<+TĀuR?lj::Rujiu+&>u&xz|~jXƜXz X ;(>^RX u\)0A?MEM PX$2S.[2.áe.  SSSS-r'P%$T- $"$&(8*_,*.#0p2'4D68.:.<[.>@.@dBdDdFdHdJdLdN-P-R.T.V2.XZ(t: X XPҀj+_A?MXMQ -~;t+>; t>;u.Qt;t;t:$R ߀A?MXC Q -+Dt &> u:&R0R ^s $s 6A?M2Xl\);>;u:V?+<=?wg<=wWH6< `&>uHx&H<><w^H  HxH`AHvH`&`&xྐྵH`x&xHx`n?R H<p&HHHx&H`< x&xHH`x<x`x&xHH`x`x&x.s-Hx`x<`&`h>tx&x<백>t<x?+<ljku xlHx`jj&ä; R V)hxnKq6<(ķXvK€(ŀ XҀ&ڀ(5(<<")0(3<<HXlKKN^)l<w)<6)<ŦXvK6<<ƀ(ɀ Ԁ)<<) ~6)>(a(n<tXwKz~6(s sA?MXTQ -:R؎>StT?<-?:ùt &> u:>;t>;t&>uR :&R0B"(!-^2R aU#os xs 'A?MGT ht3.^KKCCN & FdЩt3Шu& Fdǀtt@t & Fd& Fdމ^1A?MGM.D\2.FF#FFF FF F LtF Dt \.D<t<t d=                                         t<u FFF ^GXX XXX X X%XX_XdX[Xi+XjXA?MIPQ -pt &> u'>;tO>;t0>;t&>tz&>uj^&> uV<;><>@}:>@:J L N P=t: <;:&+(^R L{b &u)s A?MIN h(@UPSQVW-%؉.<.>.6&&ED_^Y[X]tÃZRZRZRZRZR}ZRuZRmZReZR]ZRUZRMZREZR=ZR5ZR-ZR%Z T4~ u :&ãR ^s A?MLGQ -d3_`STRH>u`>uxs<l>:uM`H?+<HvH`` t` i&`&xaxH`HxHxxr*l?j`HHx&xHs`;:2::&À>u/~|zl:2jkY`TRPXlw3u#>u'>~u >|u>zukkja>lt<u<`HHxl?xrj`x?+l=vHxH`>t&x`x&H`HP>t&x`x`>v`H`HvHx&x`xxHvHH&H`H  u EEE>@E؊2ڰ عC;uظ&2ڰ C;uE)vXyK|6b<) <( <(b*u)3<<<? KQbps s;!<ǀ5,<2X5K86@(Qb[u)d<<))~6<Ѐ<݀)~6< ((,</D)S<V6_<t)<ljXK6<<)6π<؀<ۀ <Rx.s$`6 Hx>tx뾸@+l&xxrj>u8`xlT$RHxj:l<j>tjxj&jjXK)0x3K<<?~6Q)lbvu)<6<^߀&(A?MLCx9`Wh^Ӥ <泘Hַ9wֵSL.<BxWck#N1&S|)W{pD v`ҏX难ɨ3r%A?MMU2UnGGGGG G GGG`dubu uHLuJu u3ɋ-ʋD3GʃHtO5D3GʋD3GʋDGW jun p r t vtx]ò<TtR-?lj::RujjXå*\)A?MOVEL<Ì؎ÌÌ؎ڌȎڎð?uuuuuӀA?MNU ;!A?MRGQ -( EEE&E&GEĀu2u*EuEu EECEE?3 t\W_& (&WSÊe[_2E&E&GE&GE&G%% E&G&ˁ&G <t&>t  u9&#<u(2&&G :u &> u & &3҉UUUUU;uUUE ĀtEE@E EEE&E&GEEtUEUUE E=u EEE@E E&E&GE&GE&GEEtUEUUUUUUE E E E= $ ࠩ$ ࠪ$ && & "y"t .Ftúָ& &E &E&E&E&E &E EEEEEî`Xi -7-[-lTț^ȼ^---B-E-u)u)mu)x^ʋTʩ^ʽTYA?MREQ -v#Q2H2``xu`xHYIt QHu `HHø u jj>>Su&> uitTTS>;u&> u^<;>;t9>St2>; t>S t!it>St,&>u:~&>u&<+TA~Y@~@)<<J L N P=u <; :;><}:j:&tttÕ^ ))C86 8P(b 8j(n^xR U#U#0u)5s A?MRSP%> À e, #LA?MROQ -b%33ɇMŀtuEuEuEt2EtEEE33ɇMŀtuEu EuEt2EtEEE33ɇMŀtuEuEt2EtEE3ҋMtuEt2EtEe33ɇMŀtt2EtԹƋ2.3u 2s&2.=t<1=t5* [ v."T-ƀA?MSCQ -' u R>;t>St>;u ;>SuTS>u&> uV>;u>StG&R&Z&=Pt^TTxN=t^=tKR&À>;t>St>; u&>u3&>u;&ŀ>:tRj몾Rj@^R U#4(s 5րA?MSE(.FtÂA?MSH (t GNt2t#ގQYtWWWW32t"ގQ FFGYt____sGugWWWWOGugWWWWOØA?MSQQ -)3xz|~`bdfhAQQ$`Hr(&y`zb|d~fh0&y`zb|d~fhYItQxy`vʈxyazb|d~fhh f d b a=tx@xøuW>;te>;tK>;t9>;t        %>:u&>t#&>uj&>u :&s&> uf<>:uQt.<?<t< 2H<?lNjkj&jj&ÀF4((((^R HU#as (ǀ&̀(րs A?MSTQ -Cwj+P&& t $uR&::&Ruj:jP:j& $$ $& $8  & t tttt tt t 3&ȀL Frø& & && & $& ð$&& DZ && ـ&ʀ &2g  && û> Rû&> U& ?n& & P& X&& P& X&W#_ء & &E&E&E&E&E &E ð٢ $&& & œY^^8^=]^^&^+]S^X]ʏ^ʸ^^^^^W^\]OA?MSRQ -.&& "Ĝ>'uu$:&&u &2.> 6J&:2 <&ø&P&>;t/Qt>;t$&>uHPRT?`bdfh$>:t$j:RT:@`bd@vf:kh l?كXtx2QjR3`2`xbzd|f~hHHx&Y⢠:$Q> HX&ø>;t9>; t>;t >;uvMtuh&>ugVû::><?rYtQt́><~@v{&>uТ:uТ:?:Qu<P O t> :$&<ĀȊQ &EO&>;t9>;t>; t>;uP% N L Jtsl::><<Cvz&8u)Т: 2HK&MX0X1Xa4X4X5 X3/ Xa4Xa4XT/^R 6s 9;!AQX.s;!w^)6/ P)g)((ʀ;!^&%(NV'^.'m;!V'b &;!6&<(X^lV'w.'˛^V'b Ā&)H2&EO&E<-<&Q Q&: &:&E&>u> &:Q &EO&> 3&&:&E&M> &E&> & &:&E> 2HK&M&EO&EQ&: &E> 3&&E&E&:&E&M> &&E&E&E> &&E&E &:&Eù@+<x@vH2:Pr w>:t>:uPø3ҁ>< @uPuN L JuЀ>;uQtR}Z=t P> &3>;t<8:u&>t&>tBtBu&>t&8uX> 3ҁ><@uP@uNu L JuЀ>;urQtk@+<xb!v!H2RZ:RZ:uNNPP> N&P&E&3ҁ><=@uP#N#L#J>;u1Qt*>@+<x!AvAH2RZ:RZ:u$JJLLNNPP> J&L&EN&EP&Eَ I0;!9^)V(`&Ѐ;!^l(x&;! (&;! A?MSUQ -~6H`xJbzLd|Nf~PháH+`xJbzLd|Nf~PhUU<+Tx0C~ ^GP^ &G F"Fs"F PFP^GP^ &G^ &?u!F$<tSPGP^ &G$rFsk~ uF+<t33xxzz||~~j ~ | z xu$j&>tjXuHx&H<><w&H빿`T?RSVHHH`H<xx`xH``H Hxxx<.sCH`x<`&`x>t&<뚱>t<H?+<<:``T?RSR:&R0!R %bQ)[:cKf6z<(ĞXn8K(ˀ<Ԁ<׀)<Xx8K6 <) <+)4<7~6B)K<^<g<j~6s<)6<)ʀ(Ӏ<u)<( u)s s ÀA?MTC:4h!E{ +8c`dɯ2n{aԭ6NgݪB%KݭՔݪhݭKݪKݭݪݭݪݭݪ୪t            ,eCOPYRIGHT1982INTELCORPMEMORYCODE??SEGhH dCOPYRIGHT1982INTELCORP$(C) INTEL CORPORATION 1981, 1982tVERSIONNUMBERV1P1cMEMORYCODE??SEGhHdVERSIONNUMBERV1P1eV1P1NtDECODE̖1CODEDATASTACKMEMORY DECODE_DATA DECODE_CODEQ@q@T*֘DTQFETCH_AND_STORETQUNPOP_THE_TOPM:_WSTM:_WESM:_WCSM:_WSSM:_WDSM:_NSTM:_NESM:_NCSM:_NSSM:_NDSM:_WTINIT87 TQDECODE87Z@DECODEΠX]6 !! ! ! !!! "!        111111 1 11 1 111 1 1 1  1       B! !  ! ! ! !  !   ! ! 1Z.XU^ w2&4F &G:FP"FF#ZR" ˆFF "F&G0ZVV&W1FFFV ˆFFPFP$_Y ˆF ˆFF&G2#FF%8FF ?&#G8u^8Ft8Fu7FF.ONHF.GFuF~ u^d~t F\ FF^.GFK^.ONsF~s^.~txFv~ulFj??~u-FF.ONHF.GFu1+FF.ONHF.GF<usFFHF.G^ &F%u!&?uF&GS^ &?ufF%^ &VPyt@YP~t@[ Pft@[ Pxt@[ Pt@[ P{t@[ "ŠVPu@Pwt@Pet@Z Pit@Z Pzt@Z Pt@Z Pt@Y Y"Y rF^ &dF.N.F$<uFF^ &GF&G&G &G&G$&G/8FtFF"Fs F PF$P ]TQUNPOP_THE_TOP~TQUNPOP_THE_TOP=U~E$t&e2u2ۭm2u2r]-RV$^ &G1~ u^ &G^ &G$FܜR\6 6 \\:\E\e\\Ł\Ń\Ņ\\\\\\V\\cVϕVϽVHY&GS$PGP^ &G$F PFP^G%P^ &G/] V2VӊtENCODE–1CODEDATASTACKMEMORY ENCODE_DATA ENCODE_CODE=@n@TDTQFETCH_AND_STORETQINSTRUCTION_RETRY TQPOP_THE_TOPM:_WSTM:_WESM:_WCSM:_WSSM:_WDSM:_NSTM:_NESM:_NCSM:_NSSM:_NDSM:_WTINIT87z TQENCODE87ENCODEĠU]6WV<.UFsFPv v ^&G$sS&GPGP.^&G/sS&G$pPG%P.FP^& u &G1$&G1^& u&G^_2&'] r \V?\^\fVĕ66FtSIEVE/CODEDATASTACKMEMORY SIEVE_DATA SIEVE_CODE@K@TD TQNANFILTER=̀SIEVEY]6?U^&G#;u"&G#& G& G& t &G s]䠎=.U^ &?cvi^ &G2F&ON&ON#FsCF$:u@^ &W "ŠVpP:Ѱu@&W"Z s ^ &?u^ GP5^ &W Ҵ#PWR^ &WҴ#Y s^ &?t &?t^ &G:%F&G8F^&?uF^&rF^&rF^&.^&$<uFFlzF^&?u "^ GP[P^ OQOY s]\-\H\J\L\N\,tNORMAL1CODEDATASTACKMEMORY NORMAL_DATA NORMAL_CODE@x@TD TQNORMALIZETQNORM87NORMALY]6.UQQF%^ &O2#u ^ &?cv\^ &?tQ^ GFF^&u&Gs&G^&GsS^ WF_;u;u ]^ G뤔 \oVt FILTER_MODcCODEUTSCODE??SEGUGROUPǘhHU0M:_WTM:_WSTTQ_322TQ_324TQ_326TQ_3206\FILTERTQ_312 FILTER_MODeYUUUuUV2u f2V2BURPĐ]<1RVRV(R*V3V7VGRIVntTQFETCH_AND_STORE-CODE??SEGCGROUPhH6ݎM:_WESM:_WST]TQFETCH_AND_STORETQFETCH_AND_STORE/:U~ uMu8]:Mˉu8]:MU~E$te2u2r]'D)+\-V1V4V7V< >\tTQUNPOP_THE_TOPCODE??SEGCGROUPhH9ێ&M:_WSTTQRESTORE_PTRS TQSAVE_PTRS[ TQ_STATUS_CHECK\MQERAT2[ MQERAT2tPP9 R Vt MQERATNVMEMORYCODEVVV V#V'V,R.Vt TQNORMALIZECODE??SEGCGROUPhH1 M:_WST] TQNORMALIZE TQNORMALIZE5U~-~Ft=])V V VVVVV#V&V)VKtTQINSTRUCTION_RETRYZCODECEL??SEGCGROUP$h@|Hk4M:_WSTMQERMAXMQERMINMQERRI2MQERNI2MQERCI2MQERYI4MQERIRTMQERRMDMQERINTMQERRNTMQERAT2MQERATNMQERACSMQERASNMQERTANMQERCOSMQERSINMQERTNHMQERCSHMQERSNHMQERLGDMQERLGEMQEREXPMQERY2XMQERMODMQERNINMQERANTMQERAINMQERDIMMQERSGNTQRESTORE_PTRS TQSAVE_PTRS[TQINSTRUCTION_RETRY>TQINSTRUCTION_RETRY\ޜ7RVRVR V RVRVRVRVRV R"V$R&V(R*V,R.V0R2V4R6V8R:VV@RBVDRFVHR JV LR NV PR RV TR VV XR ZV \R^V`RbVdRfVhRjVlRnVpRrVtRvVxRzV.U~ Ete2u2mtmm tmnsD.~F F "E2Ge58 e5E4E$wt<r }%m/$t}m$]0u ^ F .6Tt\thtltpW&_usF VF sÛÛÛÛÛÛÛÛÛÛÛm uEÛÛÊE2"F sE6M58$<tÛÛÛÛÛÛÛÛÞPTR!V!VVV"R $V -V6VPBPFPJPNP[P_PP%PcP%P%P*P* P* P* P*P*P*PP%PPPPP!P#P&V*V.V2V6V:V>VBVFVJVNV[V_VńVňVŌVŐVŔVŘVŜVŠVŤVtALIASCODE??SEGCGROUPhH0 TQNANFILTERTQNORM87 TQENCODE87 TQDECODE87]RDECODETQ_320ENCODETQ_322NORMAL TQ_324 SIEVETQ_326ALIAS )RVRV R VRV t MQERACSbMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERACSK MQERACSdPP9 R Vt MQERAINaMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERAINJ MQERAINcPP9 R Vt MQERANTVMEMORYCODE??SEGCGROUP           hH dTQ_STATUS_CHECK\MQERANT? MQERANTXPP9 R Vt MQERASNWMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERASN@ MQERASNYPP9 R Vt MQERAT2rMEMORYCODE??SEGCGROUPhH d TQ_STATUS_CHECK\MQERSGN: MQERSGNSPP9 R Vt MQERSINOMEMORYCODE??S??SEGCGROUPhH dTQ_STATUS_CHECK\MQERATN? MQERATNXPP9 R Vt MQERCI2{MEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERCI2d MQERCI2}PP9 R Vt MQERCOSTMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERCOS= MQERCOSVPP9 R Vt MQERCSH[MEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERCSHD MQERCSH]PP9 R Vt MQERDIM_MEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERDIMH MQERDIMaPP9 R Vt MQEREXPLMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQEREXP5 MQEREXPNPP9 R Vt MQERINTNMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERINT7 MQERINTPPP9 R Vt MQERIRTJMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERIRT3 MQERIRTLPP9 R Vt MQERLGDbMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERLGDK MQERLGDdPP9 R Vt MQERLGEaMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERLGEJ MQERLGEcPP9 R Vt MQERMAXSMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERMAX< MQERMAXUPP9 R Vt MQERMINUMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERMIN> MQERMINWPP9 R Vt MQERMODYMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERMODB MQERMOD[PP9 R Vt MQERNI2pMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERNI2Y MQERNI2rPP9 R Vt MQERNINTMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERNIN= MQERNINVPP9 R Vt MQERRI2lMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERRI2U MQERRI2nPP9 R Vt MQERRMDVMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERRMD? MQERRMDXPP9 R Vt MQERRNTEMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERRNT. MQERRNTGPP9 R Vt MQERSGNQMEMORYCODE??SEGCGROUPhH d H\FILTERTQ_312 FILTER_MODe 2tDCOPYRIGHT1982INTELCORPVERSIONNUMBERV1P3NEGCGROUPhH dTQ_STATUS_CHECK\MQERSIN8 MQERSINQPP9  R Vt MQERSNHPMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERSNH9 MQERSNHRPP9 R Vt MQERTANVMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERTAN? MQERTANXPP9 R Vt MQERTNHOMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERTNH8 MQERTNHQPP9 R Vt MQERY2XVMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERY2X? MQERY2XXPP9 R Vt MQERYI4cMEMORYCODE??SEGCGROUPhH dTQ_STATUS_CHECK\MQERYI4L MQERYI4ePP9 R VtTQSTATMEMORYCODE??SEGCGROUPhH d\TQ_STATUS_CHECKTQSTAT k PT!tCOPYRIGHT1982INTELCORPVERSIONNUMBERV1P1DECODEENCODESIEVENORMAL FILTER_MODTQFETCH_AND_STORE TQPOP_THE_TOPTQUNPOP_THE_TOP TQNORMALIZETQINSTRUCTION_RETRYALIASMQERACSMQERAINMQERANTMQERASNMQERAT2MQERATNMQERCI2MQERCOSMQERCSHMQERDIMMQEREXPMQERINTMQERIRTMQERLGDMQERLGEMQERMAXMQERMINMQERMODMQERNI2MQERNINMQERRI2MQERRMDMQERRNTMQERSGNMQERSINMQERSNHMQERTANMQERTNHMQERY2XMQERYI4TQSTATa !Uo{[$n')&+ 8W:x<'=V?@4AcCDAEpGHNI}K,L[N O9PhRSFTuV$WSYZ1[`]^>_mabKcz TQDECODE87 TQENCODE87 TQNANFILTERTQNORM87TQ_312FILTERTQFETCH_AND_STORETQRESTORE_PTRS TQPOP_THE_TOP TQSAVE_PTRSTQUNPOP_THE_TOP TQNORMALIZETQINSTRUCTION_RETRYENCODESIEVETQ_320TQ_322TQ_324TQ_326DECODENORMALMQERACSMQERAINMQERANTMQERASNMQERAT2MQERATNMQERCI2MQERCOSMQERCSHMQERDIMMQEREXPMQERINTMQERIRTMQERLGDMQERLGEMQERMAXMQERMINMQERMODMQERNI2MQERNINMQERRI2MQERRMDMQERRNTMQERSGNMQERSINMQERSNHMQERTANMQERTNHMQERY2XMQERYI4TQ_STATUS_CHECKRCOPYRIGHT1982INTELCORPMEMORYA?MED??SEGhh ԘdCOPYRIGHT1982INTELCORP$(C) INTEL CORPORATION 1981, 1982tVERSIONNUMBERV1P3aMEMORYA?MED??SEGhhdVERSIONNUMBERV1P3cV1P3LtNPUB?MEMORY LIB_87N_PUB??SEGʘhhdrM:_WST26M:_WES2M:_WCS2M:_WSS2M:_WDS2M:_NST=6M:_NES=M:_NCS=M:_NSS=M:_NDS=M:_WTYNPUBAtNULL9MEMORY LIB_87_NULL??SEGĘh`d INIT87NULL;ˎtNULP5MEMORY LIB_87_NULLP??SEGrh`d INITFPNULP7ˎt FILTER_MODcCODEUTSCODE??SEGUGROUPǘh VWQ.6.>Y_^..PT&V)Vt FILTER_MODcCODEUTSCODE??SEGUGROUPǘhHPUBNULLNULP FILTER_MOD "cUHoM:_WSTM:_WTM:_WSSM:_WCSM:_WESM:_WDSM:_NSSM:_NSTM:_NESM:_NDSM:_NCSINIT87INITFPTQ_312FILTER     0COPYRIGHT1982INTELCORPMEMORYA?MED??SEGhh՘dCOPYRIGHT1982INTELCORP#(C) INTEL CORPORATION 1980,1982tVERSIONNUMBERV1P3aMEMORYA?MED??SEGhhdVERSIONNUMBERV1P3cV1P3LtPUBMEMORY LIB_87_PUB??SEGhhdrM:_WSTM:_WESM:_WCSM:_WSSM:_WDSM:_NSTM:_NESM:_NCSM:_NSSM:_NDSM:_WTȀPUBtINIT@MEMORY LIB_87_INIT??SEG˘h`d M:_NST INIT87INITB=VDtINIPDMEMORY LIB_87_INITP??SEGyh` d1M:_WCSM:_WDSM:_WESM:_WSSM:_WSTM:_NST INITFPINIPF~.. VVt FILTER_MODcCODEUTSCODE??SEGUGROUPǘhH\FILTERTQ_312 FILTER_MODe 2tCCOPYRIGHT1982INTELCORPVERSIONNUMBERV1P3PUBINITINIP FILTER_MODU !_h&oM:_WSTM:_WTM:_WSSM:_WCSM:_WESM:_WDSM:_NSSM:_NSTM:_NESM:_NDSM:_NCSINIT87INITFPTQ_312FILTER LCOPYRIGHT1982INTELCORPMEMORYA?MED??SEGhh՘dCOPYRIGHT1982INTELCORP#(C) INTEL CORPORATION 1980,1982tVERSIONNUMBERV1P3aMEMORYA?MED??SEGhhdVERSIONNUMBERV1P3cV1P3LtEPUBHMEMORY LIB_E87_PUB??SEGӘhhdrM:_WST2@M:_WES2M:_WCS2M:_WSS2M:_WDS2M:_NST=@M:_NES=M:_NCS=M:_NSS=M:_NDS=M:_WT EPUBJtENITD(MEMORY LIB_E87_INIT LIB_E87_INT??SEG9h@0`(Ԙd]M:_NSTINT31INT30INT29INT28INT27INT26INT25INT24INT23INT22INT21INT20! INIT87ENITF4*yR V R V R V R V R V RVRVRV R"V$R&V(R*V,R.V,PVWQ.6.>Y_^oPT$V؊tENIPH*MEMORY LIB_E87_INITP LIB_E87_INTP??SEGh@0`0̘dM:_WCSM:_WDSM:_WESM:_WSSM:_WSTM:_NSTINT31INT30INT29INT28INT27INT26INT25INT24INT23INT22INT21INT20 INITFP ENIPJ4*yRVRVR V RVRVR V R V R V R "V $R &V (R*V,R.V'4P~ Z TQ_001ĜD)tvv)VRRVRV!R#VtUT\FILTERTQ_312 FILTER_MODe 2tDCOPYRIGHT1982INTELCORPVERSIONNUMBERV1P3EPUBENITENIP FILTER_MOD !b7 BoM:_WSTM:_WTM:_WSSM:_WCSM:_WESM:_WDSM:_NSSM:_NSTM:_NESM:_NDSM:_NCSINIT87INITFPTQ_312FILTER          #kCOPYRIGHT_INTEL_CORP_19821SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh֘tZ TQ_COPYRIGHTD(C) Intel Corp. 1981,1982tVERSIONNUMBERV020 PLM86 V2.0,STACKMEMORYCODEDATACONSTDGROUPCGROUPnhHH TD[[qr qs{|m{|e{}d{ ~Sz{U{ E{ |Ub { Qw MolTQ_UTS_VERSION DEàV020otPQ_330܈1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1GSTACKSTACKCODEUTSCODEMEMORYMEMORYDATADATA??SEGUGROUPDGROUP՘h H Dh}rtlPQ_GET_LOCAL_TOKENTQLOCALTQ_STATUS_CHECKTQGETSMALLHEAPPQ_SMALL_SETUP_FREE_LISTPQ_ALLOCATE_BLOCK T Q PQ_330DURPX&> uPPPVRXVuؿWW=uFRVt vv] A UVRRV(V,R5R7VQRSVrRtVtPQ_340ۈ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1GSTACKSTACKCODEUTSCODEMEMORYMEMORYDATADATA??SEGUGROUPDGROUP՘h H DhVtRPQ_GET_LOCAL_TOKENTQLOCALTQ_STATUS_CHECKPQ_SMALL_CHECK_PTR PQ_FREE_BLOCK  T Q PQ_340DZUPXP^XQuvRRZt vv]%7U VRRVR!V:RtBLDMTA PLM86 V2.0,STACKMEMORYCODEDATACONSTDGROUPCGROUPnhH)H TD[[qr qs{|m{|e{}d{ ~Sz{U{ E{ |Ub { Quo\ tsun 3 tsup 0 tsƌ4PQ_NUMBER_OF_WORDSPQ_FILL_HEADER_INFOPQ_FILLS 3 tsĐPQ_BUILD_EMPTY_STACK_AT DEà-UQvvvFPvPP] !tFILHDR PLM86 V2.0,STACKMEMORYCODEDATACONSTDGROUPCGROUPnhH=ΘH TD[[qr qs{|m{|e{}d{ ~Sz{U{ E{ |Ub { Quo\ t su jÎ tsʌ)PQ_MAKE_SS_PTRPQ_FIXUP_BASE_AND_SIZEun 0 tsݐPQ_FILL_HEADER_INFOq DEàAUQQv^FFPFPF^&GF^&F] tGETSSI PLM86 V2.0,STACKMEMORYCODEDATACONSTDGROUPCGROUPnhHCȘH TD[[qr qs{|m{|e{}d{ ~Sz{U{ E{ |Ub { Quo\ t sPQ_MAKE_SS_PTR͎u j  tsȐPQ_GET_STACK_SET_INFO DEàGUQQv^F&^&^&G^ &FPv&Z&T] / tSETERR1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hh٘t PQ_IOSC4Z PQ_SET_ERRORxDUF tn]P RVtFILLBP PLM86 V2.0,STACKMEMORYCODEDATACONSTDGROUPCGROUPnhH H T D[[qr qs{|m{|e{}d{ ~Sz{U{ E{ |Ub { Qu juoup 3 tsʎ\ tsʎwH%oewH%ocɎ tsÌMPQ_FILLP PQ_INC_PTRPQ_LOW_BITS_ONPQ_HIGH_BITS_ONPQ_NORMALIZE_OFFSETΎ  tsPQ_FILL_BOOLEAN_PACK DEàU ~tk~t@FF PFPNFȉN+ЉVȻ1V;w1.^."FFs F^ &  ^ F&^.FFs F^ &  ^ F&F PF1HFFs F Pv F PvP^.FFsF^ v& ^ vF&] '#MUֆކLtFIXBAS PLM86 V2.0,STACKMEMORYCODEDATACONSTDGROUPCGROUPnhH?̘H TD[[qr qs{|m{|e{}d{ ~Sz{U{ E{ |Ub { Qu tHP ~tHP~tHY <]ˀ~tH|!DDkGENCMP PLM86 V2.0cU àCUQQ^&%F&+^&NQF^&F^&]t!3tGENCPS'STACKMEMORYCODEDATADGROUPCGROUPH#H TTD{|m{|e{}dz{ Iuour M  tsӎus  I ts Ў؎ ts ώ؎ ts͎ ts uq tsَ tsǎ tsd tsĎwH(o_PQ_COPYP PQ_FILLP PQ_ADD_PTR PQ_SET_ERROR PQ_ALL_ZEROSPQ_SETS_OVERLAPPQ_NORMALIZE_OFFSET PQ_INC_PTRPQ_LOW_BITS_ONPQ_HIGH_BITS_ON\\PQ_GEN_COPY_SETrGENCPS PLM86 V2.02Uvvv vFPs8FPF1Ps 4PFPF PF1PFFFFs/F +FFFPvPs 4PFPFF PvPF PvFPF PvFsHNFȋF F+ȉN+FFFPFPFPvvs'4PFPF PvF PvP]_;D1C~.. & ALPCKZ PLM86 V2.0.U ~uFPFPNFȉN+ЉVȻ1V;w.^."F^&"R^.F^&u'FPF1HFFPvs^.F^v&"t@]]F N a tğ tADDPTR1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hhOt PQ_INC_PTR-Z PQ_ADD_PTR3DSUN^&&;|&1&&;| &&^ &QPNu&];tCOPYPM1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hhtZPQ_COPYPʜDZY_^R=tFILLPM1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hh tZPQ_FILLPޜD^XY_V)tINCPTR1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hh)ƘtZ PQ_INC_PTR"D-U^&^&=u B&-&@&]GtNSETON1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hh,ØtZPQ_NEW_SET_NTH_BIT_OND0UN^^N Љ]ъtPQ_531_536_541і-STACKCODE??SEGCGROUPMEMORYDATADGROUPhh/t@H D{|m{|e{}dz{ Hunuq֎ ts ӎ wo o ts up# tsxPQ_FIXDOWN2_STACK_FOR_OLD_SETPQ_GET_STACK_SET_INFO PQ_ADD_PTR PQ_NUMBER_OF_BITS_ON PQ_ALL_ZEROS PQ_SETS_OVERLAP\W!PQ_531PQ_536PQ_541 6PQ_531_536_541ӈ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1U FU FU FFPFPFPFPNFFPF PF PFPFPv v FPvvFvvv v~t.| ~ D_PTR PQ_GET_STACK_SET_INFO PQ_FIXDOWN2_STACK_FOR_OLD_SETPQ_SETS_OVERLAPK\W PQ_556PQ_556҈1SERIFvv vvFPs[FPF 1Ps%FPF1PsF#FFPF1PsFFsFPvsNFFPvsNFPvFPFPvF tlFt F^.wVFs#FPvFPvs(N!FPvFPvsN^.v~uF];6Mrр:                #.A?CMPSTA PLM86 V2.0:UF~toFFHN;w\^ &F^&N""F Ft3F%FFFtNFFtN^.vFuF] otPQ_546іSTACKCODE??SEGCGROUP~hht؎;PQ_FILL_BOOLEAN_PACKPQ_FILLSPQ_FIXUP2_STACK_FOR_SIZE\ PQ_546PQ_546ӈ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1_^VWSPVWQ6 D IADRGS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1U F^6N6ONÌV^N9N/^;^|@^+^;^s#vvN+NAQN+NQQ ] +^CN +^FPSPvv[+PS3PSR[v+v)^^~t)^FF6F6DXcf[tPQ_551Ֆ-STACKCODE??SEGCGROUPMEMORYDATADGROUPhhBtJH D{|m{|e{}dz{ Hunuq J ts Ҏur  F ts ώ֎ tsΎ  tsʎup > ts I tsߎՎ tsŎb tsڎ ts،PQ_COPYP PQ_FILLP PQ_ADD_PTRPQ_GET_STACK_SET_INFOPQ_FILL_HEADER_INFOPQ_FIXUP2_STACK_FOR_NEW_SETPQ_FIXDOWN2_STACK_FOR_OLD_SETPQ_MAKE_SS_PTRPQ_SETS_OVERLAP\W PQ_551PQ_551׈1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1^_WVWVP D IUNINS PLM86 V2.0U.vFPFPFPNF1FPFPFPFPNF1FvvvvFPFs FFF!Fs FF+F FF+FFFFPvFPFP^FFN+ȉNF+FP^FF+FP^FFPPFPvPFrFPFPF1PFFFsAFPvFPFPvFsFPvFPvFFPF+F1PFPFPFFPFPF1PFFFsGFPvFPFPvFsSFPMAj ܆ .FVkv҆BvFPvFPFPv+FPF+F1PFPFPF1PvvvFvvNF1FvP]C4LXdUNIONA1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1"UN~v & ê] VtPQ_556Ж-STACKCODE??SEGCGROUPMEMORYDATADGROUPhh"t8H D{|m{|e{}dz{ Hunuq֎ ts ӎ  ts ώՎ ts ώup! tsT PQ_AD 7͖-STACKCODE??SEGCGROUPMEMORYDATADGROUPhhotʘH D{|e{}dES-III 8086/8087/8088 MACRO ASSEMBLER V1.1^_WVWVP D IDIFFS PLM86 V2.0UvFPFPFPNF1FPFPFPFPvvvvFPFs'FsFFPvFPFPvvv]AUs$DIFFA1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1$UN~v &"ê] XtPQ_561Ԗ-STACKCODE??SEGCGROUPMEMORYDATADGROUPhhtJH D{|m{|e{}dz{ Hunuq J ts Ҏ֎ ts ю   ts ͎up A ts I tsՎ tsȎb tsݎ! tsێ tsˌPQ_COPYP PQ_ADD_PTR PQ_GET_STACK_SET_INFOPQ_FILL_HEADER_INFOPQ_FIXUP2_STACK_FOR_NEW_SETPQ_FIXDOWN2_STACK_FOR_OLD_SETPQ_MAKE_SS_PTRPQ_SETS_OVERLAPPQ_BUILD_EMPTY_STACK_ATȚ\W PQ_561PQ_561ֈ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1^_WVWVP D IINTRS PLM86 V2.0U.vFPFPFPNF1FPFPFPFPNF1FvvvvFPFrFֹFދF޹1FvvFPFP^FFPPFN+ȉNF+FP^FF+FP^FFsXFPvFPFPvFFFVvvvvPvFPFPPPeFPvFPFPvFFFPFPvvvvFvvNF1FvP]SAjˆۆ /> K[q}sINTRSA1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1"UN~v &"ê] tPQ_566ϖ-STACKCODE??SEGCGROUPMEMORYDATADGROUPhhatԘH D PQ_FIXDOWN2_STACK_FOR_OLD_SETA\W PQ_566PQ_566ш1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.12U6LQVփSR64Q[YPQSX]kwtPQ_575ϖSTACKCODE??SEGCGROUP~hh1t7PQ_BUILD_EMPTY_STACK_ATPQ_FIXUP2_STACK_FOR_NEW_SETu\ PQ_575PQ_575ш1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1_^VWRQVWP? D IBLDMT1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%URRvvvZ3PSR] ( tPQ_57 H ts L ts c tsMPQ_COPYP PQ_FILL_HEADER_INFO PQ_FIXUP2_STACK_FOR_NEW_SEz{ Iuruo M tsd ts ؎ ts Ў׎ tsΎuq D tsʌvPQ_FIXUP2_STACK_FOR_NEW_SET PQ_MAKE_SS_PTR PQ_NEW_SET_NTH_BIT_ON PQ_FIXUP_BASE_AND_SIZEPQ_BUILD_EMPTY_STACK_AT\W PQ_577PQ_577ψ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1_^VWSSQVWP- DIBLDMM PLM86 V2.0_UFF F F PF Pv vFPFPv v FP^FF+F PS] *7AStPQ_578̖-STACKCODE??SEGCGROUPMEMORYDATADGROUPhh2t$ĘH D{|m{|e{}dz{ Huqun֎ ts ӎ J ts c ts ur  tsʎՎ tsʎup > tsƌ PQ_SET_ERROR PQ_FIXUP2_STACK_FOR_NEW_SET PQ_MAKE_SS_PTRPQ_FILL_BOOLEAN_PACKPQ_FIXUP_BASE_AND_SIZEPQ_BUILD_EMPTY_STACK_ATf\W PQ_578PQ_578Έ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1_^VWSPS+AQVWP DIBLDRG PLM86 V2.0UFF;F~FFs$FF N+AN I;}4PFP F F F PF Pv vFPFPv v FP^FFsSNF+AQ+F PP]=Vdq{ytPQ_580Ӗ-STACKCODE??SEGCGROUPMEMORYDATADGROUPhh~tt0H D{|e{}dz{ Iuruq M tsuo  J ts d ts     tsȎ ю tsˌlPQ_FILL_HEADER_INFO PQ_FIXUP2_STACK_FOR_NEW_SET PQ          _MAKE_SS_PTRPQ_GEN_COPY_SETPQ_FIXUP_BASE_AND_SIZE2\W PQ_580PQ_580Ո1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1_^X[VWSPRQ3SPVWq DPUSHSA PLM86 V2.0hUFFF FFPFPvvFPFPvvFFPvv vSvvFP]++8L\tPQ_585Ζ-STACKCODE??SEGCGROUPMEMORYDATADGROUPhhyyt.H D{|e{}dz{ Iurd tsuo  ts Ўَ ts Ў tsuq    tsnjlPQ_NUMBER_OF_WORDSPQ_GET_STACK_SET_INFO PQ_FIXDOWN2_STACK_FOR_OLD_SET PQ_MAKE_SS_PTRPQ_GEN_COPY_SET\W PQ_585PQ_585Ј1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1_^VWRQVWP: D IPOPCP PLM86 V2.0kU vFPFPFPFPvYP^FFPvv^&Pv v FPvv] &/V_t PQ_590_591̖-STACKCODE??SEGCGROUPMEMORYDATADGROUPhhNtΘH D{|e{}dz{ Iuour M tsӎuq   "U^&&'^&]tNUMWRD1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECOTPQ_MAKE_SS_PTR\WPQ_590PQ_591 PQ_590_591Έ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.12_^VWPVWS` D IPUSHW PLM86 V2.0BUQQPvFPFPPPFN QPSP]d!-6tPQ_595͖-STACKCODE??SEGCGROUPMEMORYDATADGROUPhhst8H D{|e{}dz{ Iuruo  tsҎَ ts Ҏd ts uq tsȌXPQ_GET_STACK_SET_INFO PQ_FIXDOWN2_STACK_FOR_OLD_SET PQ_MAKE_SS_PTR PQ_GEN_COPY_SET\W PQ_595PQ_595ψ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1_^VWRQVWP? D IUTSTA PLM86 V2.0gUvFPFPFPNȋF1FQSvvvSv v FPvv] V4BR[ԊtALLZER1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hhژtZ PQ_ALL_ZEROSDU~3NuH]tCPYSTK1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hh@tZPQ_COPY_DOWN_STK PQ_COPY_STKÜDDUЎ؎v~N]UЎ؎N tIv~A]tFILLS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hhؘtZPQ_FILLSۜDUЎ~NF]KtFIXUP21SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hhYtӎ0 PQ_SET_ERRORPQ_NUMBER_OF_WORDS PQ_COPY_STK ZPQ_FIXUP2_STACK_FOR_SIZE "PQ_FIXUP2_STACK_FOR_NEW_SETœD]UU3PU^ +܋SQvFY[+rPQSQRS[YXӃ]+2S^SB7UtMAKESP1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hhtZPQ_MAKE_SS_PTRќDU^Ў]ȊtNFXDN2ˆ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hhAtӎ'PQ_NUMBER_OF_WORDSPQ_COPY_DOWN_STK[Z!PQ_FIXDOWN2_STACK_FOR_SIZE "$PQ_FIXDOWN2_STACK_FOR_OLD_SET6DEUU3PU^+܋QSv F[YRPQRSXZ] 2tHIGHBT1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hh tZPQ_HIGH_BITS_OND PtLOWBIT1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hh tZPQ_LOW_BITS_ON˜D ?[tNORMOF1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hhјtZPQ_NORMALIZE_OFFSEThD  !                          !!!!!!!! ! !DE??SEGCGROUP٘hh՘tZPQ_NUMBER_OF_WORDSDU^t@] tNUMBTO1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1%STACKSTACKCODECODE??SEGCGROUP٘hhtZPQ_NUMBER_OF_BITS_ONDYt UTS_STARTUPڈ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhјtPQ_IOSC TQINITIALIZEZ PQUTSSTARTUP}D"Uƻ&KyP]ܜRVΊtUTS_CLOSE_DOWN1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhFt)PQ_IOSCPQINTERNALWRITEBUFFERTQEXIT֚ZPQUTSCLOSEDOWNDJU޻ t1؀>t#t UPPXX]3P6&\P՜%8ARCV#t RESET_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh t\TQ_47TQ_45TQ_42TQ_41TQ_40 PQINTERNALGET TQFSDEVICE PQRESETENTRY PQGENERALOPEN\ZPQRESET3D2 tLAZY_CHAR_RESET_UTS^1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh tMTQ_47TQ_45TQ_42TQ_41TQ_40 TQFSDEVICE PQRESETENTRY PQGENERALOPENWZPQLAZYRESETCHARŜD@  tLAZY_TEXT_RESET_UTS71SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh tMTQ_47TQ_45TQ_42TQ_41TQ_40 TQFSDEVICE PQRESETENTRY PQGENERALOPENWZPQLAZYRESETTEXTDH%̜ R t REWRITE_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh tVTQ_47TQ_46TQ_43TQ_41TQ_40PQ_IOSC TQFSDEVICE PQRESETENTRY PQGENERALOPENZ PQREWRITED P R tTEXT_REWRITE_UTS=1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh tVTQ_47TQ_46TQ_43TQ_41TQ_40 TQFSDEVICEPQ_IOSC PQRESETENTRY PQGENERALOPENZ PQREWRITETEXTCDHX R tGENERAL_IO_OPENڈ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhۘtsPQINTERNALWRITEBUFFERTQFREE TQALLOCATETQDEVICE TQGETPRECONPQCALL_DEVICEDRIVERTQFILEDESCRIPTORPQ_IOSCxZ PQRESETENTRY PQGENERALOPENƜD^^ < t߾>uVS^ [&VPFPF t EOF_UTS;1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhht&À&&&P&>&=>FPWvvU]XX_ûUPRQSV~ &E&U uʸRP3P&= ul~ u=WߠtF$<u W~_&$ F$Ptt WiK&_WP&6&\~ u6^4x-PCS$PSPFP^6[ u^^XPF X^Sv FP^ &NFFˌ;t̀tN^Sv vvtSE[^V] ʜg"R$V'JRLVĝRȟVĵ>Հ?RzR|VŞRɠVRVt FILE_FREE_UTSh1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhXt>PQINTERNALWRITEBUFFERTQFREEPQ_IOSCPQCALL_DEVICEDRIVER-Z PQ_120ƜD\UF tJ&t UPPXX]2P&&t&>3PFP] !)R+V.NRPVt GET_UTS51SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh)ƘtNPQ_START_AND_SAVE_AFTNTQ_42PQCALL_DEVICEDRIVERPQ_FILL_BUFFERPQ_IOSCZ PQINTERNALGETm PQ_200D-^u v]#RV ltLAZY_GET_CHAR_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh[tZPQCALL_DEVICEDRIVERPQ_START_AND_SAVE_AFTNTQ_42PQ_IOSCPQFASTLAZYREAD PQLAZYREADZPQLAZYGC PQ_201ÜD_6O t &@u%RF&u ZF]&t &&&&7)"3R5V8tLAZY_GET_CHAR_CLEAR_FLAG_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh/tqPQCALL_DEVICEDRIVERPQLAZYGCPQ_START_AND_SAVE_AFTNTQ_42 PQCLEARFLAGPQ_IOSCPQFASTLAZYREAD PQLAZYREADZ PQ_202ŜD36O t&4ASu&&U]C#*-_tLAZY_GET_TEXT_UTSވ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh0tgPQ_START_AND_SAVE_AFTNTQ_42PQ_IOSCPQFASTLAZYREAD PQLAZYREADPQINTERNALGETCHAR PQLAZYGETTEXTZ PQ_203ĜD46G t&&t&&@u] '*tLAZY_GET_TEXT_CLEAR_FLAG_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh ttPQ_START_AND_SAVE_AFTNTQ_42 PQCLEARFLAGPQ_IOSCPQFASTLAZYREAD PQLAZYREADPQINTERNALGETCHAR PQLAZYGETTEXTۚZ PQ_204ÜD]l't PUT_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh&ɘtJPQ_START_AND_SAVE_AFTNTQ_43PQINTERNALPUTCHARPQINTERNALWRITEBUFFERLZ PQ_210ƜD*F&t&&&P]   CPQ_START_AND_SAVE_AFTNPQINTERNALGETCHAR PQLAZYGETTEXTPQ_220Z PQ_221ĜD]tPQ_START_AND_SAVE_AFTNnZ PQ_220ŜD&t<]yUtLAZY_EOF_CHAR_UTS 1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtPPQLAZYGCPQ_START_AND_SAVE_AFTNPQFASTLAZYREAD PQLAZYREADPQ_IOSCPQ_220Z PQ_222ÜD  tREAD_LONGINT_TEXT_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhؘt"TQ_42PQ_GENERPQ_IOSCTQ_22ĚZPQREADLONGINTTEXT& PQ_232DPPQVPXZû.  PފtREAD_TEMPREAL_TEXT_UTS~1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhژt"TQ_42PQ_IOSCTQ_20PQ_GENERƚZ PQ_233DQQ3QQQPû-  Pt ELIM_BLANKS'1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhטt;PQ_START_AND_SAVE_AFTNPQINTERNALGETCHAR PQLAZYGETTEXT*ZPQ_GENERDS< u[]q ȊtWRITE_LINE_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhؘtUPQINTERNALWRITEBUFFERPQ_START_AND_SAVE_AFTNTQ_46PQ_IOSCPQCALL_DEVICEDRIVERZ PQ_260Dv] RVtCHECK_AFTN_SET_UP_STACKF1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhܘtPQ_GENERPQ_IOSCZPQ_START_AND_SAVE_AFTNcD_UW~ uüEtLAZY_READ_INTERNAL_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhטtTQ_42PQ_FILL_BUFFERZPQFASTLAZYREAD  PQLAZYREADTDF3&@u &@ڜAtFILL_BUFFER_UTSň1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhetZPQ_FILL_BUFFER Di^tDPS6P&_[=u7u-3& t>;t&Cu3FtREAD_INT_TEXT_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhؘt.TQ_42PQ_IOSCPQREADLONGINTTEXTPQ_GENERZ PQ_231Dڙ;tû7PtCALL_DEVICE_DRIVER1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh tZPQCALL_DEVICEDRIVERDF&6&(;tLAZY_EOF_TEXT_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh t! RT_AND_SAVE_AFTNTQ_43PQCALL_DEVICEDRIVERPQ_IOSCPQFORMATMCHECKPQINTERNALPUTCHARZPQINTEGERENTRYPOINT k:*tREAD_CH_TEXT_UTSY1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh tOPQ_START_AND_SAVE_AFTN PQCLEARFLAGTQ_42PQINTERNALGETCHAR PQLAZYGETTEXTxZ PQ_230ĜD]o+tWRITE_CH_TEXT_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtCPQ_START_AND_SAVE_AFTNPQBOOLEANENTRYPOINTPQINTEGERENTRYPOINTZ PQ_240ÜDP  :tWRITE_BOOL_TEXT_UTSC1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhӘt2TQ_43PQBOOLEANENTRYPOINTPQINTEGERENTRYPOINT!Z PQ_245 D TRUEFALSErB{tEND_OF_LINE_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh t&PQ_START_AND_SAVE_AFTN PQENDOFLINE Z PQ_235D]W CtINTERNAL_END_OF_LINEH1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(# ! !!!!!!!!!!!!!!"""""""" " " " " """"""""""""""######## # # # # #########STACKSTACKCODEUTSCODE??SEGUGROUPŘhhۘt*TQ_42PQINTERNALGETCHAR PQLAZYGETTEXTZ PQENDOFLINEDF& t@<̜StINTERNAL_WRITE_BUFFER1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhMtPQ_IOSCPQCALL_DEVICEDRIVERsZPQINTERNALWRITEBUFFERDQF&t&>3ɊMut2E &&6&uVQ @RBVFLtWRITE_LONGINT_TEXT_UTSN1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh-˜taPQFORMATMCHECKPQ_START_AND_SAVE_AFTNTQ_43TQ_21PQBOOLEANENTRYPOINTPQINTEGERENTRYPOINTtZ PQ_241 PQ_242D1 QSRPY@6?-tCH;rE+tWRITE_FLOAT_TEMPREAL_TEXT_UTS,1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhߘtJPQ_START_AND_SAVE_AFTNPQFORMATMCHECKTQ_43TQ_24PQINTERNALPUTCHARZ PQ_243DSQ]  ϊtWRITE_TEMPREAL_FIX_TEXT_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhӘtSPQ_START_AND_SAVE_AFTNPQ_IOSCPQFORMATMCHECKTQ_43TQ_25PQINTERNALPUTCHARњZ PQ_244D }PQR]tWRITE_STRING_TEXT_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh<taPQ_STA" 1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhܘtPQBOOLEANENTRYPOINT| PQ_246D@^X[PVS+~ RQ PY^[ tSQ&PY[C]˿ 0ƊtWRITE_PACKED_STRING_TEXT_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhKtLPQ_START_AND_SAVE_AFTNTQ_43PQ_IOSCPQFORMATMCHECKPQINTERNALPUTCHARIZ PQ_247DO_X^PW*$PVQ+~ XRQ PYZ^Y tJ&FQVRP]  +Et READ_LINE_UTSf1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh0tRPQ_START_AND_SAVE_AFTNTQ_45TQ_42PQ_IOSC PQENDOFLINEPQCALL_DEVICEDRIVER/Z PQ_234D4F&ut vF&&]RV!}tTOP_OF_PAGE_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh t3PQ_START_AND_SAVE_AFTNTQ_43PQINTERNALPUTCHARZ PQ_251D P]H ?tINTERNAL_GET_CHAR_UTS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh^t-TQ_42PQ_IOSCPQFASTLAZYREAD PQLAZYREAD_ZPQINTERNALGETCHAR9 PQLAZYGETTEXTEDbr&&ÎFs u&u,&&&&< t=u& & && u&&(L׊tFORMAT_M_CHECK_UTS͈1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh t PQ_IOSC4ZPQFORMATMCHECK4D}؜ Mt STATUS_CHECKň1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhҘt TQGETERHZPQ_IOSC)D! uP3PPPvvPPV& RVtINTERNAL_PUT_CHARACTER1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhJtPQINTERNALWRITEBUFFERZPQINTERNALPUTCHAR.DN[XSF&t1&6&L&:L| PF&6X3&\&@&D&4&&&_ HtCLEAR_BUFFER_FULL_FLAGLj1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh%ʘt PQ_IOSC4Z PQCLEARFLAG-D)F&t&u &&ø8tGLOBAL_WRITE_TEXT_BUFFER1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh t0PQ_START_AND_SAVE_AFTNPQINTERNALWRITEBUFFERZ PQ_248D]W Ct PQCLOSEY1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhht PQ_120њZPQCLOSE@DUv&P&]{ RVt PQFLUSHBUFFER# R_CHECK TQALLOCATEZPQ_ADD_NEW_PAGEDVUPPFPPvvVv&&v &P0PQ_START_AND_SAVE_AFTNPQINTERNALWRITEBUFFERZ PQFLUSHBUFFERnDYZ^&4RQ]:  1t ROUNDERQ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh,ØtZ TQ_23D0F0=sF,5<s N::u0B3:0uFJtINTEGER_BIN_TO_DEC1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh_tZ TQ_21DcU^ S vV y -uBV/ ϵ7NusKGuZItR^FC0]tFIXED_POINT_OUTPUT1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhht;M:_WCSM:_WDSM:_WESM:_WSSM:_WSTTQ_23 MQCBINDECԚZ TQ_25DU~PPUPUMP~N +}3ɊFs<-tI:Fuϰ vIFobI<-uIVpz u3 ~+~ 9F<-u-; <:s<0rF0Ku. ;uދ]WQVRSU^"Pn][Z^Y_2VRVf@tEXPONENTIAL_OUTPUTÈ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtBM:_WCSM:_WDSM:_WESM:_WSSM:_WSTTQ_23TQ_21 MQCBINDEC`Z TQ_24DU~PPUPUMPNV }3ɊF:Fu IFzm<-t mA@z u3Ҋ< u0SF.M<0r<:sF0;E4+ y-'U3PR3й0;rF ]QVRU^ Pn]Z^YÄVRVWt GET_INTEGER1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhatZ TQ_22DU33ɻ+F<+t<-uSWQUv n]Y_[,0 ;s!ˀsBs@sʀ@Ÿ y'3Ҁ-uJuAux2y33^&?&O]kt GET_FLOAT1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhQt=M:_WCSM:_WDSM:_WESM:_WSSM:_WSTTQ_22 MQCDECBINLO6Z TQ_20DU^$VWQUn]Y_^U3+FF<+t<-t<.u:Fu :Ft3WW,0< s/ u tu tNF xGy@ yOx r&6 & F&&] ~S&] 9tALLOCATE_BLOCKS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh@t!PQ_REMOVE_BLOCK PQ_FIND_BLOCKZPQ_ALLOCATE_BLOCK4DDUS~ &=v&4F[=u] VF PFPF[] 5 5tCOMMON_FIND_BLOCKI1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhEtZ PQ_FIND_BLOCK`DIUVt&%;w+&t^;t&%;r&}]]$tCOMMON_FREE_BLOCKH1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhKt PQ_REMOVE_BLOCK PQ_ADD_BLOCK Z PQ_FREE_BLOCK_DUnv&%&%&t.+&Ӂ&&v v vvv&%=t-&D+&%&&&\& &] vvv v ] TVtCOMMON_INIT_FREE_LIST܈1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhQ% III 8086/8087/8088 MACRO ASSEMBLER V1.1CODEUTSCODE??SEGUGROUPǘhHS\ TQ_102 T%&]CtERRCHK1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh٘t PQ_IOSC4ZPQ_ERROR_CHECKDUF tn]L RVtCOMMON_ADD_BLOCK1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1CODEUTSCODE??SEGUGROUPǘhhA\ PQ_ADD_BLOCKDEUv&& &U&D~&=F &|t&u~&5]ȊtCOMMON_REMOVE_BLOCK1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh;t PQ_ADD_BLOCKŚZPQ_REMOVE_BLOCKDUsCs&|t &D&E&D~&&|t&D&E‹v&<‹~&~&&+=r(& &+&SVWv v^[&&%&]tGET_LOCAL_TOKENֈ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh tZPQ_GET_LOCAL_TOKEND $tCHANGE_INTEGER_SIGN1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh*Ɏ P TQ_190 TQ_191 TQ_160 TQ_170 TQ_171D.ƀt ˚sښs \!\tICHECKˈ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh5 TQ_170Ț P UQ_100D9^2 u tƀtÚ_S^RPƋRP3玜 RVtIDIV321SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H DheTQ_160UQ_100$ P TQ_110DiUu]]]]][YXPQS4u 3333~FF3F;sFF;sFv;t VVFFFF 3F F;tVV V VR;VuBvFBRru;wu;ZvOzF)ZBRzsJFBFBRNNv댋Nt ^ ^XZ_Y[Y]]tt t у]3&-FʋלĿRV;R=VڊtIMODM1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh TQ_110Κ P TQ_120  TQ_121D؋™Ëj R V tPMODF1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh3 TQ_120͚ P TQ_125D7ŀt[YXPQSQS[Yt3ǿ&- RVtIMUL32ֈ1SERIES-& ?SEGUGROUPŘht(h?0M:_WTM:_WCSM:_WDSM:_WESM:_WSSM:_WSTGY MQPOWER_OF_10pQ_100Wʋ3 yF y FPRp"XprXrs y^^ x˻DtCMP_DIM_MIN_MAX1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H DhG P TQ_152 TQ_210> TQ_2002 TQ_181- TQ_180 TQ_150DK+SQPќ[X #PXY[3ۋƀt3+x˚~Ë}%\ "\35\?A\%t MQCBINDEC1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(CODEUTSCODESTACKSTACK??SEGUGROUPŘhthzhMuM:_WTM:_WCSM:_WDSM:_WESM:_WSSM:_WSTM:_N#& & & & & &&&&&&&&&&&&&&'''''''' ' ' ' ' ''''''''''''''(((((((( (CSM:_NDSM:_NESM:_NSSM:_NST MQXCPTN_RTRN MQPOWER_OF_10Y MQCBINDECDQYm*F?U^t3ȊOFFFG G +v7t& &&,~FtG -tuG . G I %F@t@uW  -tG 0߰0Ӓu..ٛ~Fu@uuFNFHF,~FћFt؛~FuF..ɛ~~N nn^FV+P@PFtB=}=P-PPٛқ~Ftӛ~FtFuJBF@tˋF FvtTV߇Fb3O&tO&!u߇ڇV3ɊN+щW _F7vf]F|Ŝ-b/*0m2Q4C?NC}PQW ajeui|lwr;y~c&5l|I6G)K]3r.j^0. [dS=y'c69irT}+1I$+uX (]ho" #s&*-|0H5-7Q:5>3BE G3I{L<NMQpTVW}[\u`bOgejlinpr7{D"= TQ_COPYRIGHTTQ_UTS_VERSIONPQ_SETS_OVERLAPPQ_BUILD_EMPTY_STACK_ATPQ_FILL_HEADER_INFOPQ_GET_STACK_SET_INFO PQ_SET_ERRORPQ_FILL_BOOLEAN_PACKPQ_FIXUP_BASE_AND_SIZEPQ_GEN_COPY_SET PQ_ADD_PTRPQ_COPYPPQ_FILLP PQ_INC_PTRPQ_NEW_SET_NTH_BIT_ONPQ_531PQ_536PQ_541PQ_546PQ_551PQ_556PQ_561PQ_566PQ_571PQ_575PQ_577PQ_578PQ_580PQ_585PQ_590PQ_591PQ_595 PQ_ALL_ZEROSPQ_COPY_DOWN_STK PQ_COPY_STKPQ_FILLSPQ_FIXUP2_STACK_FOR_SIZEPQ_FIXUP2_STACK_FOR_NEW_SETPQ_MAKE_SS_PTRPQ_FIXDOWN2_STACK_FOR_SIZEPQ_FIXDOWN2_STACK_FOR_OLD_SETPQ_HIGH_BITS_ONPQ_LOW_BITS_ONPQ_NORMALIZE_OFFSETPQ_NUMBER_OF_WORDSPQ_NUMBER_OF_B( V[t F_S_CLOSE1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhLOPENPQ_120 PQINTERNALGETPQ_200PQLAZYGCPQ_201PQ_202PQ_203PQ_204PQ_210PQ_220PQ_222PQREADLONGINTTEXTPQ_232PQ_233PQ_GENERPQ_260PQ_START_AND_SAVE_AFTNPQFASTLAZYREAD PQLAZYREADPQ_FILL_BUFFERPQ_231PQCALL_DEVICEDRIVERPQ_221PQ_230PQ_240PQ_245PQ_235 PQENDOFLINEPQINTERNALWRITEBUFFERPQ_241PQ_242PQ_243PQ_244PQINTEGERENTRYPOINTPQBOOLEANENTRYPOINTPQ_246PQ_247PQ_234PQ_251PQINTERNALGETCHAR PQLAZYGETTEXTPQFORMATMCHECKPQ_IOSCPQINTERNALPUTCHAR PQCLEARFLAGPQ_248PQCLOSE PQFLUSHBUFFERTQ_23TQ_21TQ_25TQ_24TQ_22TQ_20TQ_302PQ_ADD_NEW_PAGE PQI_ALLOCATEPQI_FREE PQ_FREE_PAGEPQ_SMALL_CHECK_PTRPQ_SMALL_SETUP_FREE_LISTPQ_ALLOCATE_BLOCK PQ_FIND_BLOCK PQ_FREE_BLOCKPQ_INIT_FREE_LISTPQ_ERROR_CHECK PQ_ADD_BLOCKPQ_REMOVE_BLOCKPQ_GET_LOCAL_TOKENTQ_190TQ_191TQ_160TQ_170TQ_171UQ_100TQ_110TQ_120TQ_121TQ_125TQ_102TQ_100TQ_152TQ_210TQ_200TQ_181TQ_180TQ_150 MQCBINDECMQUNMSKD_OV_OR_UN MQXCPTN_RTRNMQCHK_UNMSKD_O_U_ERR MQCDECBINLO MQPOWER_OF_10* ( ( (((((((((((((()))))))) ) ) ) ) ))))))))))))))******** * * * * ********-KGCOPYRIGHT_INTEL_CORP_19821SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh֘tZ TQ_COPYRIGHTD(C) Intel Corp. 1981,1982tVERSIONNUMBERV020 PLM86 V2.0,STACKMEMORYCODEDATACONSTDGROUPCGROUPnhHH TD[[qr qs{|m{|e{}d{ ~Sz{U{ E{ |Ub { Qw MolTQ_UTS_VERSION DEàV020otFILE_DESCRIPTOR_MEMORY1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhӘt DQALLOCATEZTQFILEDESCRIPTORD UP0PV^&X] RVt GET_DEVICE{1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZTQDEVICED 3 t F_S_OPEN1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPhh!t{TQGETCONNECTIONSTATUSDQGETCONNECTIONSTATUS DQSPECIALDQFREE DQALLOCATEDQCREATEDQDETACHDQATTACHDQOPENTQ_41Z TQ_50 TQ_40DUF t(~ t^32 :N u F~u33 N u NFQRAQVZY Ғu\3& Gv^V  tBRP3WVYZ u2uXPPQVXXPPVXX] F = t =#t=!uՀtP3WVX uQYuQV PQ$z<u"Pt⿊3@u@u@P V V@tutPNNVPXY u;FsFK#uHF @tPQPPV[YZ ulj3ثH@FF 3:WORK:]?MROVĄRȆVğRȡVĮRȰVRVORQVTR VV ʼnR) >> 3]at F_S_ENDFILE1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKhxwt, TQFLUSHBUFFERDQDELETEDQFREEDQDETACHZ TQ_51 TQ_41D|U^ 6u@P6VX u-$t*~t$PvVX u PVX[]XPPP3PVX=!u3 u /R V?RAVORQVfRhV t F_S_READ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhXt TQREADBUFFERݚZ TQ_45 TQ_42kDU^> ;r+rGu/t( t5 u. uG3>> ]+;stҀ%+U^N v& r~6 +vR;r=6] 9tv+F ;s N +ȑ6~F ;6r ;s+ ufut> t uO9>t> N 9u < t 1< t+ u.~&%FIu3^N &) t$kɀ\t F_S_WRITE1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhht TQREADBUFFERDQSEEKDQWRITEZ TQ_46g TQ_43D  &&P&>WRSQV&&& +t#& &3P&6QRPVXu X à U^uNtG tI>u QSCC\[YuUJ; r ]+++s3Njã&U^N&r&&>v +r;si&>]&&& & t&9u<<+t <1tC<0uAAW&6SQ _u&NIF u렃t&)N+VW^u݋ދF&6NtF33&> &>u& tu86SQ 3PRRVXRZVāZvx\\;t F_S_SEEK1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhht.TQSEEK TQREADBUFFER TQFLUSHBUFFERDQSEEK7Z TQ_44 DvpU^^ F N ۋ6u t x׃x3rɑ3r؋+u.;s(t> 6;rt 3]PRu3X6X6+ڃ RѱZutRZt=u>+3˜˂*t F_S_REWINDJ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhUtD DQTRUNCATEDQOPENDQCLOSETQGETCONNECTIONSTATUS TQFLUSHBUFFERZ TQ_47 TQ_57DU^ P6VX utH@3P6F&$u<u"P ĢPVX u#~uutP6VX]+ RViRkV}ĐRȒVˊt F_S_BACKSPACE1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtDTQSEEK TQREADBUFFER TQFLUSHBUFFERTQ_45TQGETCONNECTIONSTATUSZ TQ_48DU^6 P>>t ;> r> σtumtfFOtpG>>u -;swut;ru;r)sGu?>)Nw~߃>3!G> uF vuG* FX u pأx>+rr>U~5;uJ~*+P8>su)Nw'_߃3+u]u u CODEUTSCODE??SEGUGROUPŘhh9t3TQGETCONNECTIONSTATUS TQFLUSHBUFFER DQTRUNCATEݚZ TQ_59 TQ_49D=U^rutP6VX]; /R1V|t U_S_READ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhИt" TQGETWORD TQREADBUFFERDQREADGZ TQ_55 TQ_52*D!U^tN3];ru tr tyx t봁>t r69r0>urϋy;t;urxt뻡؇+)t]U^N v& ~6 +v\;rG6] 36+QP6~WQVYZ u;ui)N 5+ȑ6~F >tN+6s^ ;r;su=td uc;r) N ɋtJCB u r83أ ;sًr;s ++ȉN >ur;t;uv^N &)rxtǜJ)=R!Vi\t U_S_WRITE{1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhИt TQREADBUFFERTQSEEKDQWRITEКZ TQ_56N TQ_53]D P>WRSQV +t 3ҋ>u X à U^+ us>u3<uP+>OO+>rr =y؉ xu#; r 3]+++rã뮌؉>>uJt` x(uNs,N>v +;sf&>) U^N&&>+r;s9v &>] y uFuÎۋ+>>u6KK+rr xϋ6xу>yډt#)Nv +ωv uF6NtF33v Ǝމ> >>u t ^ u Au-u/u!uӸvv v P)FF  u>II+rGG3>>AuPG>Z5G P ZGG ͌»+ќ:?RAVƹ]ʻ\t U_S_SEEK1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhht.TQSEEK TQREADBUFFER TQFLUSHBUFFERDQSEEK7Z TQ_54 DupU^^ F N ۋ6u t x׃x3rɑ3r؋+r.u,>6 ;s;s;r 3]PRu3X6X6 (-*****++++++++ + + + + ++++++++++++++,,,,,,,, , , , , ,,,,,,,,,,,,,,-----+ڃ RѱZutRZt=u9sʋ+> O3gʂ-t U_S_BACKSPACE1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh[tDTQSEEK TQREADBUFFER TQFLUSHBUFFERTQ_45TQGETCONNECTIONSTATUSZ TQ_58ID_>OOr > Gts3>t5rX> øU^6>u>t>;> r> >σtBu+ ON_STATUS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhԘ>~QuuX;r u;r׋ t)u> MRqt GET_MEMORYR1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhht DQALLOCATEZ TQALLOCATEgD k RVt RETURN_MEMORYL1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhht DQFREEZ TQFREED k RVtINIT_LOGICAL_RECORD_SYSTEMZ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(CODEUTSCODESTACKSTACK??SEGUGROUPŘhtdh/ĎH TQPARSECLTQINITMMTQINITIOTQESTARTTQ_STATUS_CHECK TQDEFAULTPLY TQINITIALIZED3U^S]|GRV R VRVRVRV"R$V'R)VStIO_INITIALIZATION=1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZTQINITIOD3˙tMM_INITIALIZATION;1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZTQINITMMD3˙tDEFAULT_PRECON_LIST1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhMtZ TQDEFAULTPL DQUNIT5:CI:UNIT6:CO:INPUT:CI:OUTPUT:CO:p@ \  \\&\&0(\092\9D;\tPARSE_COMMAND_LINE1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(CODEUTSCODESTACKSTACK??SEGUGROUPŘhtdh<) TQDEFAULTPL DQALLOCATE DQGETARGUMENT.Y TQPARSECLDUR]u@^X&<u%(u [u=uQu,t)u3&&R]PUSX PܵQSX Qu2Nr'u&&¿3ɊNA63YD\K]R_VrRtV8tGET_PRECONNECTIONF1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhuztZ TQGETPRECONDyU~u)3F 0PD2 uITPUNP+ĈFfV^3D t/43ɊN8Lu V~^4u^ &_3F&7]t GET_HEAP1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1GSTACKSTACKCODEUTSCODEMEMORYMEMORYDATADATA??SEGUGROUPDGROUP՘h H Dh.t DQGETSIZE T QTQGETSMALLHEAP+D2UPvV=u+~ &~&] U RVt READ_BUFFER31SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhOt DQREADTQSEEK TQFLUSHBUFFERٚZ TQREADBUFFERҜDSuEr+tً>>>> P6WQVX u  u Ɯ6R8VtGET_CONNECTI, FĂʂP2ׂPP8 P&P(7t TQ_LRSERH1SERIES-III 8086/8087/8tDQGETCONNECTIONSTATUSZTQGETCONNECTIONSTATUSDPLQWVZ[^_X RVtCOMMON_STATUS_CHECK1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh!Θt TQGETERHZTQ_STATUS_CHECKD%U u]P3PPPvvPPV RVt FS_FLUSH1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhzutDQWRITETQSEEKfZ TQFLUSHBUFFERjD~3ɿ +tZ+t 3uG ;s;s+9t PP6SPVXY Ë V]R_VAt INTERNAL_SEEK1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhژt DQSEEKZ TQSEEKDP6QRPVX ` RVt GET_WORD1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhEt TQREADBUFFERݚZ TQGETWORDDIHH;r CC @;tt&P[u;s'иv -t PROGRAM_EXIT1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhht DQEXITZ TQEXITzD Ɯ RVt TQESTART1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh4&TQWHERESTRAP87 TQ_LRSERHTQSETERHϚ PTQESTARTٜD8UQQP^_+Ɏ t &7&PP]l R V&V*R.R0Vيt TQ_INT171SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh2 TQGETERH PTQ_INT17D6 UPFFF+FFF +FF FPX]ϛ +R-Vˊt TQ_FLPERH1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh*ǎKM:_WCSM:_WDSM:_WESM:_WSSM:_WST TQ_HEXOUT TQ_MSGOUT TQ_PUSHSTR P TQ_FLPERHW2D. *** RUN-TIME 8087FLOATING-POINT  EXCEPTION H *** INSTR OPCODE H *** MEMOP ADDRESS H *** NEAR LOCATION H *** JOB ABORTED. SIGNDIMAINTANINTNINTMODY**XEXPLNLOG10SINHCOSHTANHSINCOSTANARCSINARCCOSARCTANARCTAN(Y,X) RINTINTRMDIRINT4Y**ITRUNCROUNDIRINT2MINMAX&T & _YFU+PPv v uu Fv Fu'v VF VFFu 6N* + * FPEINaVmPpœPrŬP\P- /8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t 088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh,ǎ TQ_FLPERH TQ_SYSERHTQ_313 P TQ_LRSERH{D0U윁~ t]Pv Xt]]!RVRV(R*Vt TQ_SYSERH1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh# TQ_PUSHSTR TQ_MSGOUT TQ_HEXOUT1 P TQ_SYSERHD *** RUN-TI*-- - - - - --------------........ . . . . ......ME PASCAL-86 I/O PASCAL-86 SET PASCAL-86 HEAP PASCAL-86 STRING FORTRAN-86 I/O OPERATING ENVIRONMENT I/O INTEGER ZERO DIVIDE INTEGER OVERFLOW RANGE CHECK EXCEPTION *** NEAR LOCATION H:H *** JOB ABORTED. U3Q V.6VF 3ҋF=r>=0r?=@rD=PrI=UrN=rS=rX=rte=th=tk=tn=r=rB3dоZоP оFо<о2 о(о   t .6Fً־ t FP䜝PPkP uP.PPʼnP>œP`ŝPvŧPzůPŷPſPPЀӂPPt TQGETERH 1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh֎DQGETEXCEPTIONHANDLER$ PTQGETERHD!UPvvPX t] RVt TQSETERH1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh3TQGETERHDQTRAPEXCEPTION` PTQSETERHD7UPč^SPX t]Pv3PPP]]RVR Vt TQ_MSGOUT1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H DhW$DQEXITDQCREATEDQOPENDQWRITE2 P TQ_MSGOUTgD[:CO:UPSU~u:PPP+PU~u$^SvU~uX]YXQ+PМ/ RV(R*V=R?VRRTVat TQ_HEXOUT1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh2 P TQ_HEXOUTnD6Q$< s07t uYZSP⿊t TQ_PUSHSTR-1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh P TQ_PUSHSTRDNNNX++tTQWHERESTRAP87I1SERIES-III 8086/8087. TQ_45TQ_44TQ_43TQ_42TQ_41TQ_40Z TQFSDEVICEdD,2[טH H Dh܎ TQ_TRAP87 PTQWHERESTRAP87,DU3^&&G] RVt TQ_TRAP87ˆ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh<3M:_NCSM:_NDSM:_NESM:_NSSM:_NSTTQGETERH P TQ_TRAP87D@ UPFFF+FF +FF FP~FX]j)R+V.V5VtNO_8087_EXCEPTION{1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh PTQ_IN_8087_ERH6 NO87EHD 3tVCOPYRIGHT_INTEL_CORP_1982VERSIONNUMBERV020FILE_DESCRIPTOR_MEMORY GET_DEVICEF_S_OPEN F_S_CLOSEF_S_READ F_S_WRITEF_S_SEEK F_S_REWIND F_S_BACKSPACE F_S_ENDFILEU_S_READ U_S_WRITEU_S_SEEK U_S_BACKSPACE GET_MEMORY RETURN_MEMORYINIT_LOGICAL_RECORD_SYSTEMIO_INITIALIZATIONMM_INITIALIZATIONDEFAULT_PRECON_LISTPARSE_COMMAND_LINEGET_PRECONNECTIONGET_HEAP READ_BUFFERGET_CONNECTION_STATUSCOMMON_STATUS_CHECKFS_FLUSH INTERNAL_SEEKGET_WORD PROGRAM_EXITTQESTARTTQ_INT17 TQ_FLPERH TQ_LRSERH TQ_SYSERHTQGETERHTQSETERH TQ_MSGOUT TQ_HEXOUT TQ_PUSHSTRTQWHERESTRAP87 TQ_TRAP87NO_8087_EXCEPTION vAO -8c!T%/),,2[;>xCvE[G;JSLMgPCTVOY%[p^ `bdoghukwnHvWyLcP<T$' TQ_COPYRIGHTTQ_UTS_VERSIONTQFILEDESCRIPTORTQDEVICETQ_50TQ_40TQ_51TQ_41TQ_45TQ_42TQ_46TQ_43TQ_44TQ_47TQ_57TQ_48TQ_59TQ_49TQ_55TQ_52TQ_56TQ_53TQ_54TQ_58 TQALLOCATETQFREE TQINITIALIZETQINITIOTQINITMM TQDEFAULTPL TQPARSECL TQGETPRECONTQGETSMALLHEAP TQREADBUFFERTQGETCONNECTIONSTATUSTQ_STATUS_CHECK TQFLUSHBUFFERTQSEEK TQGETWORDTQEXITTQESTARTTQ_INT17 TQ_FLPERH TQ_LRSERH TQ_SYSERHTQGETERHTQSETERH TQ_MSGOUT TQ_HEXOUT TQ_PUSHSTRTQWHERESTRAP87 TQ_TRAP87TQ_IN_8087_ERHNO87EH.......//////// / / / / //////////////00000000 0 0 0 0 0(\COPYRIGHT_INTEL_CORP_19821SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh֘tZ TQ_COPYRIGHTD(C) Intel Corp. 1981,1982tVERSIONNUMBERV020 PLM86 V2.0,STACKMEMORYCODEDATACONSTDGROUPCGROUPnhHH TD[[qr qs{|m{|e{}d{ ~Sz{U{ E{ |Ub { Qw MolTQ_UTS_VERSION DEàV020otFORMAT_SEQ_DEVICE_DRIVER1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh(ǘtGTQ_49TQ_48TQ_47TQ_46/ TACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_53D t U_ \ \ \ \\\\\ "\$&\2t F_S_D_OPEN>1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_50 TQ_40D  t F_S_D_CLOSE1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_51 TQ_41D  t F_S_D_READT1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_42D  t F_S_D_WRITE1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_43D t F_S_D_SEEKH1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_44D t F_S_D_FORWARDU1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_45D t F_S_D_EOR1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_46D t F_S_D_REWIND1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_57 TQ_47D tF_S_D_BACKSPACE1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_48D t F_S_D_ENDFILEs1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_59 TQ_49D tUNFORMAT_SEQ_DEVICE_DRIVER\1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh(ǘtGTQ_59TQ_58TQ_57TQ_56TQ_55TQ_54TQ_53TQ_52TQ_51TQ_50Z TQUSDEVICEUD,2[ \ \ \ \\\\\ "\$&\2t U_S_D_EOR}1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_56D t U_S_D_FORWARDF1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_55D t U_S_D_READE1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_52D  t U_S_D_WRITEԈ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(S0 Q_43 TQ_42 TQ_41 TQ_40 TQFSDEVICEdD ]\\at S_D_SEEK91SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_54D tU_S_D_BACKSPACEڈ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_58D tTQ_8087_ECHECK1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh TQ_312ʚ PTQ_IN_8087_ERH6D g RVt TQ_FILTER1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H DhTQ_IN_8087_ERHE P TQ_313D g RVt@COPYRIGHT_INTEL_CORP_1982VERSIONNUMBERV020FORMAT_SEQ_DEVICE_DRIVER F_S_D_OPEN F_S_D_CLOSE F_S_D_READ F_S_D_WRITE F_S_D_SEEK F_S_D_FORWARD F_S_D_EOR F_S_D_REWINDF_S_D_BACKSPACE F_S_D_ENDFILEUNFORMAT_SEQ_DEVICE_DRIVER U_S_D_EOR U_S_D_FORWARD U_S_D_READ U_S_D_WRITE U_S_D_SEEKU_S_D_BACKSPACETQ_8087_ECHECK TQ_FILTERY vAa 3  I PX,tIk-s6 z"=$&3ͪ TQ_COPYRIGHTTQ_UTS_VERSION TQFSDEVICETQ_50TQ_40TQ_51TQ_41TQ_42TQ_43TQ_44TQ_45TQ_46TQ_57TQ_47TQ_48TQ_59TQ_49 TQUSDEVICETQ_56TQ_55TQ_52TQ_53TQ_54TQ_58TQ_IN_8087_ERHTQ_313~00000000000011111111 1 1 1 1 1111111111111"COPYRIGHT_INTEL_CORP_19821SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh֘tZ TQ_COPYRIGHTD(C) Intel Corp. 1981,1982tVERSIONNUMBERV020 PLM86 V2.0,STACKMEMORYCODEDATACONSTDGROUPCGROUPnhHH TD[[qr qs{|m{|e{}d{ ~Sz{U{ E{ |Ub { Qw MolTQ_UTS_VERSION DEàV020ot NULL_STARTB1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhht TQ_COPYRIGHTZ TQ_001ĜD3˙t NULL_STOP1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQ_999DetNULL_DEVICE_PUBLICS1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh tZ TQ_59 TQ_58 TQ_57 TQ_56 TQ_55 TQ_54 TQ_53 TQ_52 TQ_51 TQ_50 TQUSDEVICEQ TQ_49 TQ_48 TQ_47 TQ_46 TQ_45 TQ_44 T1 22222NULL_ESTART1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh PTQESTARTٜDˊt NULL_INIT_LRSF1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1:STACKSTACKCODEUTSCODEDATA TQNULLDEVICE??SEGUGROUPh()ht W TQCURRENTPTR TQINITIALIZEXD3& T PtNULL_PRECON_LISTb1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQDEFAULTPL D@tNULL_PARSE_COMMAND_LINEV1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhh9t TQDEFAULTPL DQALLOCATE#Z TQPARSECLD=Uu^&&&]PܵQSX ò\.R0VtNULL_FILE_DESCRIPTOR>1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1dSTACKSTACKCODEUTSCODEDATATQN6DATATQN5DATATQN4DATATQN3DATATQN2DATATQN1??SEGUGROUP֘h`0`0`0 `0 `0 `0Øh:t TQCURRENTPTRHTQFILEDESCRIPTOR oD>U&sC&.^&3]/TTTTT TVR%R,CtNULL_PRECONNECTION1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQGETPRECOND 3t NULL_TQGETERHf1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t טH H Dh PTQGETERHDat NULL_TQSETERHZ1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1OCODEUTSCODEMEMORYMEMORYDATAUTSDATACONSTCONSTSTACKSTACK??SEGUGROUPh t H H Dh PTQSETERHDtNULL_EXIT_HALT1SERIES-III 8086/8087/8088 MACRO ASSEMBLER V1.1(STACKSTACKCODEUTSCODE??SEGUGROUPŘhhtZ TQEXITzDetCOPYRIGHT_INTEL_CORP_1982VERSIONNUMBERV020 NULL_START NULL_STOPNULL_DEVICE_PUBLICS NULL_ESTART NULL_INIT_LRSNULL_PRECON_LISTNULL_PARSE_COMMAND_LINENULL_FILE_DESCRIPTORNULL_PRECONNECTION NULL_TQGETERH NULL_TQSETERHNULL_EXIT_HALT/9 vAR |!x3{KT_l6 TQ_COPYRIGHTTQ_UTS_VERSIONTQ_001TQ_999TQ_59TQ_58TQ_57TQ_56TQ_55TQ_54TQ_53TQ_52TQ_51TQ_50 TQUSDEVICETQ_49TQ_48TQ_47TQ_46TQ_45TQ_44TQ_43TQ_42TQ_41TQ_40 TQFSDEVICETQESTART TQCURRENTPTR TQINITIALIZE TQDEFAULTPL TQPARSECLTQFILEDESCRIPTOR TQGETPRECONTQGETERHTQSETERHTQEXIT2 . (* BinaryTreeMain *) MYSIII8087CONFIGPASCAL-86 X132 -CODEDATASTACKCONSTMEMORYCGROUPDGROUPm-MYSIII8087CONFIG_CODEMYSIII8087CONFIG_DATA^@c @ T:ʜS Y\8{|WORDn{}INTEGERnЎzl{ ARBPTRzj { Îumb tr TQWHERESTRAP87$ (PQRSVWUU ]_^[ZYXϮ ]2 tcs TQ_TRAP87 TQ_302ˠC$UUˆFF$P&RFF]C] V'V,V\t22 2 2 2 2 22222222222222module BinaryTreeMain; public BinaryTreeOutput; procedure Infix(NodeIndex : Subscr); procedure Prefix(NodeIndex : Subscr); procedure Postfix(NodeIndex : Subscr); public BinaryTreeMain; const MaxNumNodes = 20; type Subscr = 0..MaxNumNodes; Node = record Symbol : char; Left : Subscr; Right : Subscr end; Tree = array[Subscr] of Node; var NodeCharacter : char; NodeIndex : integer; ExpressionTree : Tree; (* This program builds a binary tree of characters from user input data and prints out the nodes of a tree in infix, prefix, and postfix notation. An input line con- sists of the character, its position in the tree, and the position of its two children; each item is separated from the next by a blank. *) program BinaryTreeMain(Input,Output); const One = 1; var DataFile : text; (* ---------------------------------------------------*) procedure BuildTree; (* build tree from user input *) var FindRoot : boolean; procedure AddNode; (* add a node to the tree *) begin write(NodeCharacter : 3, NodeIndex: 3); with ExpressionTree[NodeIndex] do begin  Symbol:=NodeCharacter; read(DataFile,Left); write(Left : 3); read(DataFile,Right); write(Right : 3); readln(DataFile); writeln end end; (* AddNode *) begin FindRoot := false; writeln('INPUT IS:'); writeln; AddNode; repeat read(DataFile,NodeCharacter,NodeIndex); if NodeIndex = 1 then FindRoot := true else AddNode until (FindRoot) or (eof(DataFile)); writeln  end;(* BuildTree *) (* -------------------------------------------------- *) (* The main program reads in user data and displays the tree in Infix, Prefix, and Postfix notation. *) begin (* BinaryTreeMain *) reset(DataFile,':F1:DATA2'); writeln; writeln; writeln; read(DataFile,NodeCharacter,NodeIndex); while not eof(DataFile) do begin BuildTree; writeln; writeln('INFIX:'); Infix(One); writeln; writeln('PREFIX:'); Prefix(One);  writeln; writeln('POSTFIX:'); Postfix(One); writeln; writeln end; writeln; writeln end3 (* This program builds a binary tree of characters from user input data and prints out the nodes of a tree in infix, prefix, 3333333 3 3 3 3 3333module BinaryTreeOutput; public BinaryTreeOutput; procedure Infix(NodeIndex : Subscr); procedure Prefix(NodeIndex : Subscr); procedure Postfix(NodeIndex : Subscr); public BinaryTreeMain; const MaxNumNodes = 20; type Subscr = 0..MaxNumNodes; Node = record Symbol : char; Left : Subscr; Right : Subscr end; Tree = array[Subscr] of Node; var NodeCharacter : char; NodeIndex : integer; ExpressionTree : Tree; private BinaryTreeOutput; (* -------------------------------------------------- *) procedure Infix(NodeIndex : Subscr); (* write out the tree in infix notation *) begin with ExpressionTree[NodeIndex] do if Left <> 0 then begin write('(' : 1); Infix(Left);  write(Symbol : 2); Infix(Right); write(')' : 1) end (* if *) else write(Symbol : 2) end; (* Infix *) (* -------------------------------------------------- *) procedure Prefix(NodeIndex : Subscr); (* write out the tree in prefix notation *) begin with ExpressionTree[NodeIndex] do if Left <> 0 then begin write(Symbol : 2); Prefix(Left); Prefix(Right) end (* if *)  else write(Symbol : 2) end; (* Prefix *) (* -------------------------------------------------- *) procedure Postfix(NodeIndex : Subscr); (* write out the tree in postfix notation *) begin with ExpressionTree[NodeIndex] do  if Left <> 0 then begin Postfix(Left); Postfix(Right); write(Symbol : 2) end (* if *) else write(Symbol : 2) end; (* Postfix *) .3333333(* This program converts Fahrenheit temperatures to Celsius. It prompts the user to enter a Fahrenheit temperature, either real or integer, on the console. The program computes and displays the equivalent Celsius temperature on the console until the user has no more input. *) program FahrenheitToCelsius(Input,Output); var CelsiusTemp,FahrenheitTemp : real; QuitChar : char; begin repeat writeln; writeln; write('Fahrenheit temperature is: '); readln(FahrenheitTemp); CelsiusTemp := (( FahrenheitTemp - 32.0 ) * ( 5.0 / 9.0 )); write('Celsius temperature is: '); writeln(CelsiusTemp:5:1); writeln; write('Another temperature input? :'); read(QuitChar); writeln; until not (QuitChar in ['Y','y']) end. (* FahrenheitToCelsius *) 344444444 4 4 4 4 444444444444445554 on. *) begin (* TreeTraversal *) reset(DataFile,':F1:DATA2'); writeln; writeln; writeln; read(DataFile,NodeChand postfix notation. An input line con- sists of the character, its position in the tree, and the position of its two children; each item is separated from the next by a blank. Variables - MaxNumNodes - maximum number of nodes in a tree One - index of the root NodeCharacter - constitutes a node in the tree NodeIndex - position of node in the tree ExpressionTree - binary tree which is created DataFile - file which holds user data *) program TreeTraversal(Input,Output); const MaxNumNodes = 20; One = 1; type Subscr = 0..MaxNumNodes; Node = record Symbol : char; Left : Subscr; Right : Subscr end; Tree = array[Subscr] of node; var NodeCharacter : char; NodeIndex : integer; ExpressionTree : Tree; DataFile : text; (* ---------------------------------------------------*) procedure BuildTree; (* build tree from user input *) var FindRoot : boolean;  procedure AddNode; (* add a node to the tree *) begin write(NodeCharacter : 3, NodeIndex: 3); with ExpressionTree[NodeIndex] do begin Symbol:=NodeCharacter; read(DataFile,Left); write(Left : 3);  read(DataFile,Right); write(Right : 3); readln(DataFile); writeln end  end; (* AddNode *) begin FindRoot := false; writeln('INPUT IS:'); writeln; AddNode; repeat read(DataFile,NodeCharacter,NodeIndex); if NodeIndex = 1 then FindRoot := true else AddNode until (FindRoot) or (eof(DataFile)); writeln end; (* BuildTree *) (* -------------------------------------------------- *) procedure Infix(NodeIndex : Subscr); (* write out the tree in infix notation *) begin with ExpressionTree[NodeIndex] do if Left <> 0 then begin write('(' : 1); Infix(Left);  write(Symbol : 2); Infix(Right); write(')' : 1) end (* if *) else write(Symbol : 2) end; (* Infix *) (* -------------------------------------------------- *) procedure Prefix(NodeIndex : Subscr); (* write out the tree in prefix notation *) begin with ExpressionTree[NodeIndex] do if Left <> 0 then begin write(Symbol : 2); Prefix(Left); Prefix(Right) end (* if *)  else write(Symbol : 2) end; (* Prefix *) (* -------------------------------------------------- *) procedure Postfix(NodeIndex : Subscr); (* write out the tree in postfix notation *) begin with ExpressionTree[NodeIndex] do if Left <> 0 then begin Postfix(Left); Postfix(Right); write(Symbol : 2) end (* if *) else write(Symbol : 2) end; (* Postfix *) (* -------------------------------------------------- *) (* The main program reads in user data and displays the tree in Infix, Prefix, and Postfix notati5 variable used for output character CharInput - input file of characters which is preconnected NewLine - boolean variablearacter,NodeIndex); while not eof(DataFile) do begin BuildTree; writeln; writeln('INFIX:'); Infix(One); writeln; writeln('PREFIX:'); Prefix(One); writeln; writeln('POSTFIX:'); Postfix(One); writeln; writeln end; writeln; writeln end. (* TreeTraversal *) 5555 5 5 5 5 5555555 (* This program computes the non-complex roots of a quadratic equation of the form a*x**2 + b*x + c. It performs I/O to a binary file, but displays the input coefficients and outputs roots in a readable form on the console. If the roots are imaginary, the program prints an appropriate message. Variables: ZeroConst - real constant used to check for imaginary roots InputCoef - real input file which holds the input coefficients QuadResult - real output file which holds the quadratic results AVar,BVar,CVar - real coefficients TempVar - real value for temporary storage *) program Quadratic(Output); const ZeroConst = 0.0; var InputCoef,QuadResult : file of real; AVar,BVar,CVar : real;  TempVar : TEMPREAL; begin reset(InputCoef,':F1:DATA3'); (* position input file at beginning *) rewrite(QuadResult,':F1:RESULT'); (* initialize output file *) while not EOF(InputCoef) do begin AVar := InputCoef^;  get(InputCoef); (* get *) BVar := InputCoef^; get(InputCoef); (* coefficients *) CVar := InputCoef^; get(InputCoef); (* from input file *) write('Input coefficients are: ',AVar,BVar,CVar); (* echo inputs *) writeln; write('Roots are: '); TempVar := (BVar * BVar) - (4 * AVar * CVar); (* compute discriminant *)  if TempVar >= ZeroConst then begin TempVar := sqrt(TempVar); QuadResult^ := (-BVar + TempVar) / (2 * AVar); write(QuadResult^); put(QuadResult); QuadResult^ := -(BVar + TempVar) / (2 * AVar);  writeln(QuadResult^); put(QuadResult) end (* of if *) else writeln(' imaginary'); (* print to default output file *) end; (* of while *) writeln end.(* Quadratic *) 55555566666666 6 6 6 6 66666(* This simple text editor program reads a preconnected file of characters, interprets certain control characters, and echoes the input to the default OUTPUT file. It also reports the number of times each capital letter occurs. The program recognizes the following control characters: () ignore all enclosed characters * start a new output line / exchange preceding and following characters + delete preceding character Variables - LParen, RParen, Asterisk, Slash, Plus - control character constants Ch - character variable to hold input character TempCh - temporary character 6 evels from right to left in its control register, the same order that Pascal-86 assigns bits to set elements. *)  to determine when a new line is needed CapitalLetter - character set of capitol letters of the alphabet CapCount - integer array to hold the count of each letter Edit - set of editing control characters *) program TextEdit(CharInput,Output); const LParen = '('; Rparen = ')'; Asterisk = '*'; Slash = '/'; Plus = '+'; var Ch,TempCh : char; CharInput : text; NewLine : boolean; CapitalLetter : set of 'A'..'Z'; CapCount : array['A'..'Z'] of integer; Edit : set of Lparen..Slash; begin CapitalLetter := ['A'..'Z']; (* perform initialization *) Edit := ['(','+','*','/']; for Ch := 'A' to 'Z' do CapCount[Ch] := 0; reset(CharInput); TempCh := '*'; while not eof(CharInput) do begin read(CharInput,Ch); (* input a character *)  if [Ch] * CapitalLetter <> [] then CapCount[Ch] := CapCount[Ch] + 1; if [Ch] * Edit <> [] then case Ch of (* action for control characters *) LParen : begin (* ignore embedded text *) repeat read(CharInput,Ch) until Ch = RParen; read(CharInput,Ch)  end; Asterisk : NewLine := true; (* flag a new line *) Plus : read(CharInput,TempCh); (* delete preceding character *) Slash : begin (* perform character exchange *)  Ch := TempCh; read(CharInput,TempCh); end end;(* case *) if [TempCh] * Edit = [] then write(TempCh); if NewLine then begin writeln; NewLine := false  end; (* if *) TempCh := Ch (* assign output character for next loop *) end; (* while *) writeln(TempCh); writeln; (* write out last character *) for Ch := 'A' to 'Z' do write(Ch : 3,CapCount[Ch] : 2); writeln end. (* TextEdit *) 6666666677777777 7 7 7 7 7777777777(* This program uses an 8253 interval timer on an iSBC 86/12A board to interrupt the host processor every 10 milliseconds. It assumes the 86/12A board is set up as a standard Series-III board is set up, with: - counter 0 of the on-board 8253 free, and its interrupt strapped to level 2 of the on-board 8259A. - The on-board 8259A initialized as on the Series-III, with its 8 interrupts mapped in from 58 to 63. *) program IntervalTimer; (* 8253 Port address definitions. *)  const CountControlPort = 0D6H; CountReg0 = 0D0H; InitializeReg0 = 030H; (* 8259a Port address and control word definitions. *) IMaskRegPort = 0C2H; IControlPort = 0C0H; EndofInterrupt = 020H; (* Define a set of interrupts to use to mask the 8259A interrupt mask *) (* The 8259A assigns interrupt l7 re square) InputMatrixOne, InputMatrixTwo - integer input matrices OutputMatrix - integer output matrix QuitChar - c type IntLevels = (I0, I1, I2, I3, I4, I5, I6, I7); IntSet = Set of IntLevels; var CountCounts : LONGINT; (* Extend timer here. Holds count of 10 msec. intervals recieved. *) (*----------------------------------------------------------------*) procedure ResetCount; (* This procedure loads the counter value with 12300 so that the counter will count down for exactly 10 milliseconds. ( The iSBC 86/12A clock rate is 1.23MHz.) *) (* Use a variant record to map two bytes "on top of" a word. Note that the low byte precedes the high byte. *)  var Count : RECORD CASE BOOLEAN OF true:( FullWord: WORD); false:( Low, High: 0..255)  END; begin Count.FullWord := 12300; (* 10 milliseconds @ 1.23 Mhz *) OUTBYT(CountReg0,Count.Low); OUTBYT(CountReg0,Count.High) end; (* ResetCount *) (*----------------------------------------------------------------*) procedure InitializeChip; (* Initialize the 8253 by setting the control word to select counter 0, read/load low-order byte then high-order byte, interrupt on a terminal count, and accept count in binary. (control word = 30H) ResetCount is called to load the counter.*) var IMask : IntSet; begin (* Initialize Counter 0. *) OUTBYT(CountControlPort,InitializeReg0); RESETCOUNT; (* Now, enable the interrupt level corresponding to timer 0. On the Series-III board, it is mapped at interrupt level 2 on the 8259A, which maps to the 8086 level 58. *) INBYT(IMaskRegPort, IMask); (* The expression IMask - [I2] yields a set of interrupts with I2 removed. This turns off the bit corresponding to interrupt level 2 on the 8259, which is our timer. (Turning the bit off in the mask register enables the interrupt) *) OUTBYT(IMaskRegPort, IMask - [I2]); end; (* InitializeChip *) (*----------------------------------------------------------------*) $INTERRUPT(ServiceInterrupt) procedure ServiceInterrupt; (* This procedure services interrupt 58 when that interrupt occurs. To make the program more useful, add code to take action before starting the  next interval. *) begin ResetCount; CountCounts := CountCounts + 1; (* Must clear the interrupt on the 8259A. *) OUTBYT(IControlPort, EndofInterrupt); end; (* ServiceInterrupt *) (*----------------------------------------------------------------*) begin SETINTERRUPT(58,ServiceInterrupt); CountCounts := 0; InitializeChip; while true do end. (* IntervalTimer *) 77788888888 8 8 8 8 8888888(* This program reads in pairs of two-dimensional square matrices of integers from the default input file, computes the product, and writes the results to the default output file. variables: MatrixSize - number of rows or columns (all matrices a8 t row number *) Bottom = 7; (* constant to mark the largest row number *) Left = 1; (* constant to mharacter variable to query the user to quit *) program MatrixMult(Input,Output); const MatrixSize = 8; type Matrices = array[1..MatrixSize,1..MatrixSize] of LONGINT; var InputMatrixOne, InputMatrixTwo, OutputMatrix : Matrices; QuitChar : char; (* ---------------------------------------------------- Prompts user to enter a matrix and reads it in by columns/rows *) procedure ReadMatrix(var InMatrix : Matrices); var I,J : integer; begin writeln('INPUT AN 8X8 MATRIX:'); for I := 1 to MatrixSize do begin for J := 1 to MatrixSize do read(InMatrix[I,J]); readln  end; (* for *) writeln; writeln end; (* ReadMatrix *) (* ---------------------------------------------------- Writes out a matrix by columns/rows *) procedure WriteMatrix(OutMatrix : Matrices); var I,J : integer; begin writeln; writeln('MATRIX PRODUCT IS:'); writeln; for I := 1 to MatrixSize do begin  for J := 1 to MatrixSize do write(OutMatrix[I,J] : 4); writeln end; (* for *) writeln; writeln  end;(* WriteMatrix *) (* ----------------------------------------------------- Multiplies two input matrices  *) procedure Product(var ProdMatrix : Matrices; OneMatrix,TwoMatrix : Matrices); var I, J, K : integer; Result : LONGINT; begin for I := 1 to MatrixSize do for J := 1 to MatrixSize do begin Result := 0; for K := 1 to MatrixSize do Result := Result + OneMatrix[I,K] * TwoMatrix[K,J]; ProdMatrix[I,J] := Result end (* for *) end; (* Product *) (* -----------------------------------------------------*) begin (* MultMatrix *) repeat ReadMatrix(InputMatrixOne); (* input first matrix *) ReadMatrix(InputMatrixTwo); (* input second matrix *) Product(OutputMatrix,InputMatrixOne,InputMatrixTwo); (* multiply them *) WriteMatrix(OutputMatrix); (* output the resulting matrix *) write('ANOTHER MATRIX? '); (* query for another matrix *) read(QuitChar); writeln until not (QuitChar in ['Y','y']) end. (* MultMatrix *) 88888899999999 9 9 9 9 99999999999999:::::(* This maze game program first prompts the user to enter a seven-by-seven maze, where a '.' indicates a path and a 'W' represents a wall. The program then determines whether or not there is a way out by beginning in the upper left-hand corner and trying to exit at the lower right-hand corner. The program marks with 'X's the trail which actually leads out, if any. If there is no way out of the maze, the program displays an appropriate message. Other- wise it displays the final maze and prompts the user to enter another maze. *) program AMazeGame(Input,Output); const Top = 1; (* constant to mark the smalles9  recursive procedure FindPath to find a way out if there is one. If there is no way out, the program prints a message; otherwiark the smallest column number *) Right = 7; (* constant to mark the largest column number *) Path = '.';  (* constant to mark a path input by user *) Trail = '^'; (* constant to mark the trail the program took *)  Mark = 'x'; (* constant to mark the path which was travelled *) Size = 7; (* number of columns or rows in the maze *) var Maze : array[1..Size,1..Size] of char; (* array to hold maze *) WayOut : boolean;  (* flag to indicate a way out *) InputChar : char; (* prompt user to play again *) (*----------------------------------------------*) procedure ReadMaze; (* procedure to input the user's maze *) var I, J : 1..Size; begin writeln('INPUT A MAZE:'); writeln; for I := 1 to Size do begin for J := 1 to Size do read(Maze[I,J]); readln end (* for *) end;(* ReadMaze *) (*---------------------------------------------*) procedure WriteMaze; (* procedure to output the maze *) var I, J : 1..Size; begin writeln('PATH THROUGH MAZE IS:'); writeln; for I:= 1 to Size do begin for J := 1 to Size do write(Maze[I,J] : 2);  writeln end (* for *) end; (* WriteMaze *) (*---------------------------------------------*) (* Recursive procedure to find a path through the maze. This procedure continues to call itself until either the way out has been found or it has determined there is no way out. The algorithm begins at the upper right-hand corner of the maze and tries to move to the lower left-hand corner, marking the path it has traveled with an X. The algorithm first tries to move right, then down, then left, then up. If there is a way out, the procedure marks the trail with up-arrow symbols as the recursion levels decrease. Row - parameter to indicate row number Column - parameter to indicate column number *) procedure FindPath(Row, Column : integer); begin if (Row = Bottom) and (Column = Right) then WayOut := true  else begin Maze[Row,Column] := Mark; if Column <> Right then if Maze[Row,Column + 1] = Path then FindPath(Row,Column + 1); (* move right if possible *) if (not WayOut) and (Row <> Bottom) then if Maze[Row + 1,Column] = Path then FindPath(Row + 1,Column); (* move down if possible *) if (not WayOut) and (Column <> Left) then if Maze[Row,Column - 1] = Path then FindPath(Row,Column - 1); (* move left if possible *) if (not WayOut) and (Row <> Top) then if Maze[Row - 1,Column] = Path then FindPath(Row - 1,Column) (* move up if possible *) end; (* else *) if WayOut then Maze[Row,Column] := Trail end; (* FindPath *) (*---------------------------------------------*) (* The main program inputs a maze, initially assumes there is no way out, then calls the:  TempPtr := Head; while TempPtr <> nil do begin writeln(TempPtr^.Person); TempPtr := TempPtr^.Next se, it prints the final maze. *) begin (* AMazeGame *) repeat ReadMaze; WayOut := false; FindPath(Top,Left); if WayOut then WriteMaze else begin (* if no way out, print message *) writeln; writeln('NO PATH THROUGH MAZE FOUND.'); writeln end; (* else *)  writeln; writeln('ANOTHER MAZE? (Y or N)'); readln(InputChar) until not (InputChar in ['y','Y']) end. (* AMazeGame *) :: : : : : ::::::::::::::;;;; (* This program reads in names of up to 20 characters and builds an alphabetical list. variables - Head - pointer to mark the head of the list Name - character array to hold a name in the list ResponseChar - used to ask user for more input *) program SortList(Input,Output); const NameLength = 20; type ListElement = packed array[1..NameLength] of char; ListPtr = ^ListRecord; ListRecord = record Person : ListElement; Next : ListPtr end; (*record*) var Head : ListPtr; Name : ListElement; ResponseChar : char; NameBuffer : array[1..NameLength] of char; TempPtr : ListPtr; (*----------------------------------------------*) procedure InsertName(Name : ListElement); (* Procedure to enter names to the list. It add names to the front of the list unless they are alphabetically greater. It scans the list, setting SwitchOrder when the correct location is found and adding the name in that location. Variables - Pointer - primary pointer used in setting up linked list SwitchPointer - temporary pointer used when switching list order NewPointer- pointer to point to new name being inserted SwitchOrder - boolean flag to indicate order needs switching *) var Pointer,SwitchPointer,NewPointer : ListPtr; SwitchOrder : boolean; begin SwitchOrder := true; Pointer := Head; while (SwitchOrder) and (Pointer <> nil) do if Name < Pointer^.Person then SwitchOrder := false else begin  SwitchPointer := Pointer; Pointer := Pointer^.Next end; (* else *) new(NewPointer);  NewPointer^.Person := Name; NewPointer^.Next := Pointer; if Pointer = Head then Head := NewPointer else SwitchPointer^.Next := NewPointer end;(* InsertName *) (*----------------------------------------------*) procedure ReadName(var Name : ListElement); (* input a name *) var i : integer; begin for i := 1 to NameLength do NameBuffer[i] := ' ';  for i := 1 to NameLength do if not eoln then read(NameBuffer[i]); pack(NameBuffer,1,Name); readln end;(* ReadName *) (*-----------------------------------------------*) procedure WriteName; (* output a linked list *) begin ; SIII8087CONFIG; TYPE ARBPTR = ^INTEGER; (* Actually a pointer to the trap routine. *) FUNCTION TQWheresTrap87(VAR TrapHa end (* whlie *) end;(* WriteName *) (*--------------------------------------------------*) begin (* SortList *) Head := nil; writeln('Begin inputting names '); repeat ReadName(Name); InsertName(Name);  write('More names? '); readln(ResponseChar); until (ResponseChar in ['n','N']); WriteName end.(* SortList *) ;;; ; ; ; ; ;;;;(* Illustrate the use of a FILE OF CHAR to obtain character at a time input from the console (instead of line-editing). Note that TEXT files are line-edited, so that INPUT, the "standard" input file, since it is a TEXT file, will use line-editing for input. *) (* Using Pascal I/O to interact with a console device is a little tricky... Pascal-86 has taken the approach of Lazy I/O, as outlined in chapter 8 of the manual (see discussion of RESET) *) PROGRAM ECHO(INCHAR, OUTPUT); (* FILE OF CHAR is NOT line-edited: the run-time system uses the DQ$SPECIAL routine to indicate that transparent input is desired. (TEXT files use line-edited input). *) VAR INCHAR: FILE OF CHAR; CH: CHAR; BEGIN (* RESET and GET are defined to read in a character to the buffer (before the prompt is written). But, Lazy I/O delays the actual  read until the buffer variable (INCHAR^) is referenced in the middle of the loop. *) RESET(INCHAR, ':CI:');  REPEAT WRITE('TYPE A CHAR: '); (* Be sure to copy the character from the input buffer ("Filled" by RESET and GET) before doing another GET. *) CH := INCHAR^; GET(INCHAR); (* WON'T actually do a READ until INCHAR^ is referenced the next time around the loop. *) WRITELN('YOU TYPED A: ', CH); UNTIL CH = ' '; END. ;;;;;;;;;<<<<<<<< < < < < <(* In order to use the 8087 with the Series-III, you must supply an interrupt handler to field the hardware interrupt generated by the 8087 -> 8259A. On the Series-III board, the iSBC-337 multi-module connects the 8087 interrupt to level 7 on the on-board 8259A. The Series-III initialization sequence maps the 8259A interrupts to interrupt numbers 56 to 63, so level 7 is at interrupt 63. An interrupt handler for level 63 is supplied which clears the 8259A to allow it to accept subsequent 8087 interrupts, and also enables the 8086 interrupt mask disabled (by the hardware) at entry to the interrupt handler. This combination must be done before invoking the "common" numeric trap handler (common to both the hardware 8087 and the software emulator), so that the trap handler can use the 8087. Otherwise, if an 8087 exception occurred in the trap handler, the processor would hang up, since either the 8259A or the 8086 would hold the 8087 interrupt pending. *) MODULE MYSIII8087CONFIG; PUBLIC MY< ndlerAddress: ARBPTR): WORD; PUBLIC UTS; $INTERRUPT(TQ_TRAP87) PROCEDURE TQ_TRAP87; PRIVATE MYSIII8087CONFIG; $INTERRUPT(My8087Trap=63) PROCEDURE My8087Trap; BEGIN OUTBYT (0C0H, 20H); (* Send End Of Interrupt to 8259A *) EnableInterrupts; (* Allow 8086 interrupts to be accepted. *) CauseInterrupt(16); (* Transfer to "common" 8087 trap handler *) END;  FUNCTION TQWheresTrap87(VAR TrapHandlerAddress: ARBPTR): WORD; TYPE Interrupts = (IR0, IR1, IR2, IR3, IR4, IR5, IR6, IR7); VAR (* Define a SET containing 8 elements, one for each interrupt level on the 8259A. Pascal-86 will map this set to a byte, with elements mapped to bits right-to-left in the byte. This allows us to use SET operations to enable level 7, where the 8087 is attached on the SBC 86/12A board. *) InterruptMask: SET OF Interrupts; BEGIN (* Clear the leftmost bit (IR7), to enable level 7. *) DisableInterrupts; INBYT(0C2H, InterruptMask); OUTBYT(0C2H, InterruptMask * [IR0..IR6]); EnableInterrupts; (* Set up interrupt level 16 as the 8087 interrupt handler. This is done in this routine, with the SetInterrupt procedure, so that we don't have to pass back the address of TQ_Trap87, since this is difficult to do in Pascal. *) SetInterrupt(16, TQ_Trap87); (* Return value indicates to the run-time system which interrupt table entry must be initialized. If set to zero, this indicates that no entry is to be initialized. *) TQWheresTrap87 := 0; END; . <+ 1 2 3 A 2 0 0 B 3 0 0 + 1 2 3 * 2 4 5 E 3 0 0 - 4 6 7 D 5 0 0 / 6 8 9 C 7 0 0 A 8 0 0 B 9 0 0 <@@@<<BASIC TESTING. ALL ON ONE LINE.* NEW LINE.* NEW LINE. BUTT+ NOT THIS.* D1+ELE2+T3+E DIGITS FROM THIS LINE.* SWAP KO TO GET K/O - IT WORKS!* IGNORE TEXT BETWEEN PARENS(DO YOU SEE THIS?).* END TESTING. = > ? @ A B C D E F G H I J K L