;===============================================================è;è; €€€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èM�n:é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‚ex�w®Ôwécall SÅftèM�nWÅÙ:émov a,b ; wÅÙ (B<>EOF)...écpi CpmEoféjz M�nEndè; €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 ;‡Åf�A (=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 M�nWÅÙ ; ..ŽÐwÅÙè;èM�nEnd:écall F®¯hOâpâ ; compÙ‘„âpâ fiÙéÉt ;�nÐm�n.è;===============================================================è;€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è