;===============================================================è;è; pÌgËm FDUMP (fiÙ³me)è;è;€FDUMP‚ak�‚Á (expÝcª)†amˆofƒny fiÙ,ƒnÐdump¸tÁè;€fiÙ‚ tÁ c¦¼Ù…°phy½cal, 128-by‘ Écor×.è;è;€EacÀÉcorЯ ÕspÛyeП‚w Ý±s, wªÀtÁ ÉcorÐnumberè;€® ÁxƒppŽÑД‚Á fiÏ�ݱ.€C¦tÌØcÃËc‘σÉè;€sÄw°Ÿ Ô—,�xcep�foÈCRƒnÐLF wÅcÀaɇÄw°Ÿè;€back-sÛsÀcÃËc‘Ï‚ Év‹ØtÁ�nÐofƒ°ASCII ݱ.è;€€*****************************************************è;€€* € 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 ;‡“nÓrÐeqã‘-³m�éMACLIB PROG ;…mpoÊž�macÌséPROLOG ;�²er,‡Š up‡“ck, g ” M�nè;===============================================================è;€tÁ gÜbaØvaÍabÙs...èRecord dw 0 ; ÉcorÐcoætèInÑx db 0 ;…nÑx‚ ±x�by‘…°Bufferè;===============================================================è;€tÁ m�°pÌgËm --…µ•aÝzš¬nèM�n:éSERVICE BÔsOpŽ,CpmFcbé®r a ;�rÌÈcoÑ FFÀbecom� 00héjz NofiÙ ;† fiÙ --�rÌÈcoу�Žd.è;éSERVICE BÔsSŠBuffer,BuffeÈ;…npâ‚ ouÈBufferémvi a,128éºa InÑx ; InÑx := 128 (Buffeȯ�mpty)élxi h,0éshld Record ; RecorÐ:= 0è;===============================================================è;€tÁ m�°pÌgËm -- m�°Üopè;écall GŠcÃÈ; C := GŠcÃr,ƒnй�fÛg…°A.èM�nWÅÙ:éoË a ; wÅÙ†¢ EOF...éjnz M�nEnÐ; (ª…¸EOF)écall TypeCRLF;‚ypˆ˜bÛnk ݱémvi b,64 ; Ô 64‚im� (coæ�® B)èM�n4:émov a,c ; pâ Ó“ by‘…°A,écall Oâpâ ; ..wÍ‘…t.écall GŠcÃÈ; C :=†ex�by‘, A := fÛgéDJNZ M�n4 ; dcÈb, jnz M�n4è;écall SÄwRecorÐ;‡Äw‚Á ÉcorÐnumber,écall TypeCRLF; ..ŽÐtÁ fiÏ�ݱ.è;émvi b,64 ;‡Š up foÈ2nÐݱ.èM�n5:émov a,c ; gŠ Ó“ by‘,écall Oâpâ ; ..wÍ‘…t.écall GŠcÃÈ; fÛg gЏ¹�¦‚Á 128tÀcalléDJNZ M�n5 ;�nÐÔ.è;écall TypeCRLF;�nÐtÁ 2nÐݱ,élhld Recordé®x héshld Record ; RecorÐ:= RecorÐ+ 1éjmp M�nWÅÙ ;�nÐwÅÙ.è;èM�nEnd:éÉt ; back‚ pÌÜg, Ô warm‡“Ê.è;---------------------------------------------------------------è; GŠcÃr: Étu΂Á†ex�by‘ fÌm‚Á fiÙ…°Ég¯‘ÈC,è;ƒnО�nÐof fiÙ fÛg…°Ég¯‘ÈA.€If‚Á curɲè; ÉcorЯ�xÃç‘d, ÉaО¢ÁÈÉcorЮ”‚Á buffer.è;è; A¿um�:‚Ã�Buffeȯ„°˜pagˆboæÓry.è; Oâpâ: by‘…°C.€End-of-fiÙ fÛg…°A.è; Pɹrv�:ƒlØbâ A, C, fÛgs.è;---------------------------------------------------------------èGŠcÃr:élÓ InÑxéoË a ; InÑx > 127?éjp GŠcÃr2 ; ..´, c¦•náè;è; €...tÁ buffeȯ�mpty, ÉaИÉcorЮ”…t.è;éSERVICE BÔsR‹d,CpmFcbéoË a ;†¦-zeÌ…f phy½caØŽÐof fiÙ.éÎz ; qåt, A†¦zeÌ,…f‚rá.é ;„tÁrw¯ˆc¦•ná, A=InÑx=00èGŠcÃr2:épçh h ;‡avˆHL,‚Á°formƒddÉ¿émvi h,HIGH(Buffer) ; ..of Ó“ ç®g BuffeÈpageémov l,a ; ..žÐInÑx (® A).émov c,m ; C :=‚Á by‘é®r aéºa InÑx ; InÑx := InÑx + 1éxË a ;†¢ EOF, ÉtuÎ zeÌ fÛgépop héÉt ;�nÐGŠcÃr.è;---------------------------------------------------------------è; Oâpâ:‡ŽÐtÁ by‘…°A‚ tÁ c¦¼Ù.€Beg® by‡Š•ngè;„ff‚Á ÅgÀbª, beca爼mˆworÐpÌc�¼Ï‡Š Bª 7…nè;‡pec«l-purp§ˆcarÍagˆÉtuÎs,�tc.€TÁ°if‚Á by‘…sè; pͲabÙ jç�typˆª.€If…t'¸˜c¦tÌØcÃËc‘ÈÙ�tÁè; C¦tÌØÌ⮈tË·Û‘…�fiÏt.è;€pɹrv�:ƒlØÉg¯‘Ï.è;---------------------------------------------------------------èOâpâ:épçh pswéži Asc­DEL€ ;‚u΄ff‚Á ÅgÀbª.écpi Asc­BÛnk ;…f A<" " (carry…¸¹t),écc C¦tÌØ€ ; A := C¦tÌl(A)écpi Asc­DEL€ ; ..oÈif A…¸˜DEL,écz C¦tÌØ€ ; A := C¦tÌl(A)écall TypeCÃÈ€; TypeCÃr(A)épop pswéÉtè;---------------------------------------------------------------è; C¦tÌl:‚Ë·Û‘ƒ c¦tÌØcÃËc‘È” pͲabÙ form.è; CÃngˆm§�c¦tÌß‚ Ô—.€CÃngˆCR‚ žÐLF‚oè; back-sÛsÁ¸¼‚Ã�tÁ�nÐofƒ†ormaØÝ±‡“nׄâ.è;€pɹrv�:ƒlØbâ A, fÛgs.è;€oâpâ: pͲabÙ by‘…°Aè;---------------------------------------------------------------èC¦tÌl:écpi Asc­CRéJRZ C¦tÌl2écpi Asc­LFéJRZ C¦tÌl2émvi A,'.'éÉtèC¦tÌl2:émvi A,'\'éÉtè;---------------------------------------------------------------è; SÄwRecord: ÕspÛy‚Á ÉcorÐnumber.€Typˆtw spac�,‚Ánè;‚Á fouÈÁx Õgª¸of "Record".è;€pɹrv�:ƒll.è;---------------------------------------------------------------èSÄwRecord:épçh hécall TypeBÛnkécall TypeBÛnkélhld Recordécall TypeXXXX ; TypeXXXX(Record)épop héÉtè;---------------------------------------------------------------è; NofiÙ:‚Á…npâ fiÙ Ô�n'�ex¯t.€A�tŸp¥²‚Áè; commžÐ“iØš Ücš¬°80ÀÜok¸ÝkˆtÅs:è;è; ¶‡pacˆfiÙ³mˆ00è;è; wÁɆ°¯‚Á ÙngtÀžÐ00…¸˜nulØby‘.€TuÎ…�®”è;ƒ m�»gˆºÍng ÝkˆtÅs:è;è; ¶‡pacˆfiÙ³me?$è;è;ƒnÐaboÊ wªÀtÁ m�»gˆ' fiÙ³me?'‚Ã�ÉsuÚs.€TÅsè; coÑ Ã¸tw bug¸(¹ˆ‘xt),†¦ˆ¹Íoç.è;---------------------------------------------------------------èNofiÙ:élÓ CpmT�Ø; A := ÙngtÀof‚Á "“il"émov e,a ; makˆtÃ�˜16-bª…²egerémvi d,0élxi h,CpmT�l+1 ; HL->ºaÊ„f "“il"éÓd d ; HL->nulØby‘ƒ�ŽÐof "“il"émvi m,'?' ; compÙ‘‚Á m�»ge: "fiÙ³me?"é®x hémvi m,'$' ;‚erm®šoÈfoÈm�»gˆºÍngéABORT CpmT�l+1 ; è;===============================================================è;€tÁ…ncluÑÐsubÌâ®�...è; #®cluÑ TypeSubs.Inc,TypeComm¦ -- TypeCÃr, -CRLF,�tc.è; #®cluÑ TypeSubs.Inc,TypeXXXXè;===============================================================è; TÁ ÉcorÐbuffer,ƒ�tÁ�nД makˆtÁ .COM fiÙ‡malÙr.è; Aß ¦ƒ pagˆboæÓry, Ôn'�forgŠ.éORGPAGEèBuffer: × 128è;è; FoÈMP/M,‚Á .HEX fiÙ‡ÄulÐaccoæ�foÈtÁ fulؽzˆofè;‚Á pÌgËm,‡ ŽabÙ‚Á†ex�®ºruc•¦:è; db 0éENDè