;===============================================================è;è; €€€UNPACK€…npâ-Éf€„âpâ-Éfè;è;€Unpack¸ž ASCII fiÙ‚ÃÃÐb‰°packeÐwªÀtÁ PACKè;€commžd.€TÁ fiÙÉf‡y²ax…¸iѲicaØ” PACK,….e.è;è;€®pâ-Éf ::€[x:]…npâ³mˆ[.typ]è;è;€If‚Á dÍvecoÑ x:…¸omª‘ÐtÁ ÑfauÚ dÍvˆ¯ çed.€Anè;€®pâ fiÙ³mˆ¯ ÉqåÉd. A fiÙtypˆ¯„p•¦aØ(or,‚oè;€bˆpÉc¯e,ƒ fiÙtypˆof 3 bÛnk¸¯ƒlÜwed).è;è;€oâpâ-Éf :: [y:] [oâpâ³me] [.typ]è;è;€EacÀomª‘ÐpaÊ„f‚Á„âpâ fiÙÉf…¸suppÝeÐfÌm‚Áè;€®pâ-Éf.€Thç‚Á ÑfauÚ dÍvˆ¯‚Á…npâ dÍve,‚Áè;€ÑfauÚ†amˆ¯‚Á…npâ†ame,ƒnÐtÁ ÑfauÚ‚ypˆ¯‚Áè;€®pâ‚ype. IfƒlØaÉ„mª‘d,‚Á„âpâ fiÙ ÉpÛc‚Áè;€®pâ fiÙ.è;€€*****************************************************è;€€* € TŸpÌgËm wŸ„Íg®ally pubÝsÁЮ *è;€€* €A€PROGRAMMER'S€NOTEBOOK€€€€€€€*è;€€* €€U•Ý• foÈCP/M-80 *è;€€* €€ by DaviÐE. CoÊi *è;€€* CopyÍg (C) R”°PubÝsÅng Compžy Inc. 1983 *è;€€*****************************************************è*===============================================================éMACLIB CPMEQUéMACLIB PROGéPROLOGè;===============================================================è; Eq㑸foÈcompÉ¿¬°by‘ valás:èCopyTÅs equ 0EAh ; pÉfix foÈÓ“ > 127èEndL®ˆ equ 0E8h ;‡“n× foÈCR, LFèEndL®eTab equ 0E9h ;‡“n× foÈCR, LF, TABèMŸkBy‘1 equ 0Fh ; mŸk foÈfiÏcompÉ¿eÐby‘èMŸkBy‘2 equ 07h ; ..žÐfoȹc¦d.è;===============================================================è; TabÙ çeÐfoÈfŸvec”Íng…°tÁ CŸˆc¦ºruc•¦.€Eachè;„f 256²Í…¸tÁ„ff¹fÌm CŸeTop‚ tÁ cŸˆÛbelè; wÁÉ‚Á corÉsp¦Õng by‘…¸ÃndÙd.èTabÙ × 256èEndTabÙqu $éorg TabÙè$-PRINTè; filØfÌm 00..7F wªÀvec”Ï‚ CŸe007F.éÉpt 07Fh-000h+1édb CŸe007F-CŸeTopéŽdmè; filØfÌm 80..E7 wªÀvec”Ï‚ CŸe80E7.éÉpt 0E7h-080h+1édb CŸe80E7-CŸeTopéŽdmè; filØtÁ ɺ wªÀvec”Ï‚ CŸeUGHéÉpt 0FFh-0E8h+1édb CŸeUGH-CŸeTopéŽdmè; plug…°tÁ vec”Ï foÈEndL®e/TabƒnÐCopyTÅséorg TabÙ+EndL®eédb CŸeEndL®e-CŸeTopéorg TabÙ+EndL®eTabédb CŸeEndL®eTab-CŸeTopéorg TabÙ+CopyTÅsédb CŸeCopyTÅs-CŸeTopéorg EndTabÙè$+PRINTè;===============================================================è; L¯of compÉ¿-cÃËc‘Ï,…nÑxeÐby mŸkeÐcompÉ¿ by‘èL¯t: db '“¥·hrdlu'è;===============================================================è; U•Ýty I/O vaÍabÙs...è; #®cluÑ âiÝo.®c,IOVaÏèMsgBadBy‘ db 'Imp§½bÙ by‘…°®pâ fiÙ.$'è;===============================================================è;€tÁ m°pÌgËm --…µ•aÝzš¬nèMn:écall SŠUpInpâ ;„pŽ‚Á…npâ fiÙélxi b,InFCB ; BC-->ÑfauÚ fiÙÉfélxi d,OBspace ; DE-->ºaÊ„f buffeÈspaceè; €€€pÌÜg‡Š¸HL-->ŽÐof buffeÈspaceécall SŠUpOâpâ ; pÉpaÉ‚Á„âpâ‡tuffè;===============================================================è;€tÁ m°pÌgËm -- m°Üopè;écall SÅft ;‡Š up‚Á B, C‚exw®Ôwécall SÅftèMnWÅÙ:émov a,b ; wÅÙ (B<>EOF)...écpi CpmEoféjz MnEndè; €CŸˆ(B)„f...émvi d,0 ; D wilØbˆzeÌ‚hÌugÄâémov e,bélxi h,TabÙéÓd d ; HL-->cŸˆvec”Èby‘émov e,mélxi h,CŸeTopéÓd d ; HL-->coÑ„f‡eÙc‘ÐcŸeépchl ; ..g ”…t.èCŸeTop:èCŸe007F:éjmp CŸeEnÐ ; ÉguÛÈby‘, Ô†¢Ångè;èCŸe80E7:éËr ;‡ÅfA (=B) Íg 3éËr ; (´rmally we'ÐÃvˆ”éËr ;€worryƒboâ‚Á carry fÛg,éži MŸkBy‘1 ;€b₟mŸk¸žy garbage)émov e,a ; DE=off¹of by‘…°Ýºélxi h,L¯téÓd d ; HL-->fiÏoâpâ by‘émov a,mécall PâCÃrémov a,béži MŸkBy‘2émov e,a ; DE=off¹of‡ec¦Ðby‘élxi h,L¯téÓd d ; HL-->¹c¦ÐcompÉ¿eÐby‘émov b,méjmp CŸeEndè;èCŸeEndL®e:émvi a,Asc­CRécall PâCÃrémvi b,Asc­LFéjmp CŸeEndè;èCŸeEndL®eTab:émvi a,Asc­CRécall PâCÃrémvi a,Asc­LFécall PâCÃrémvi b,Asc­TABéjmp CŸeEndè;èCŸeCopyTÅs:écall SÅftéjmp CŸeEndè;èCŸeUGH:éABORT MsgBadBy‘è;èCŸeEnd:écall SÄâ ; wÍ‘ B, gŠƒ´tÁréjmp MnWÅÙ ; ..ŽÐwÅÙè;èMnEnd:écall F®¯hOâpâ ; compÙ‘„âpâ fiÙéÉt ;nÐmn.è;===============================================================è;€tÁ…ncluÑÐI/O‡ubÌâ® -- GŠCÃr, PâCÃr, DumpOâpâè; #®cluÑ âiÝo.®c,IOSubsè;===============================================================è;‚Á fiÙ pÉpaË•¦ coÑ -- SŠUpInpâ, SŠUp-, F®¯hOâpâè; #®cluÑ âiÝo.®c,IOSŠupè;===============================================================è; TÁnÐof‚Á pÌgËm,ƒnÐtÁ‡“Ê„f‚Á buffeÈspace.è; TÁ‚ecÆiqá„f ç®gƒlغoËgˆfoÈbuffer, çeÐÁÉ,…sè;ƒ ÝabiÝty…°MP/M. TÁÉ,‚Á²iÉ„âpâ buffeÈsÄuldè; bˆÑf®eЮ‚Á pÌgËm„Èob“®eÐwªÀXDOS‡ervicˆ129.è;èOBspacˆequ $éENDè