;===============================================================;; pgm FDUMP (fiٳme);;FDUMPak (expc)amofny fi,ndumpt;fiقt cمphycal, 128-by cor.;;EaccorЯ spyeПwݱs, wt cornumber; xppД fiϐݱ.Ctccσ;sw ԗ,xcepfoCRnLF wcaɇw;back-ssccςvtnofASCII ݱ.;*****************************************************;* TŸpgm wgally pubsЮ *;* APROGRAMMER'SNOTEBOOK*;* Uݕ foCP/M-80 *;* by DaviE. Coʏi *;* Copyg (C) RPubsng Compy Inc. 1983 *;*****************************************************;===============================================================MACLIB CPMEQU ;nreq-mMACLIB PROG ;mpoʞmacsPROLOG ;er, upck, g Mn;===============================================================;t gbavaabs...Record dw 0 ; corcotInx db 0 ;nxxbyBuffer;===============================================================;t mpgm --aznMn:SERVICE BsOp,CpmFcbr a ;rco FFbecom 00hjz Nofi ;fi --rcoуd.;SERVICE BsSBuffer,Buffe;np₠ouBuffermvi a,128a Inx ; Inx := 128 (Buffeȯmpty)lxi h,0shld Record ; Recor:= 0;===============================================================;t mpgm -- mop;call Gc; C := Gcr,nйfgA.MnW:o a ; wن EOF...jnz MnEn; (EOF)call TypeCRLF;ypbnk ݱmvi b,64 ; 64im (co搮 B)Mn4:mov a,c ; p ӓ byA,call Op ; ..w͑t.call Gc; C :=exby, A := fgDJNZ Mn4 ; dcb, jnz Mn4;call SwRecor;w cornumber,call TypeCRLF; ..t fiϐݱ.;mvi b,64 ; up fo2nݱ.Mn5:mov a,c ; g ӓ by,call Op ; ..w͑t.call Gc; fg g 128tcallDJNZ Mn5 ;n.;call TypeCRLF;nt 2nݱ,lhld Recordx hshld Record ; Recor:= Recor+ 1jmp MnW ;nw.;MnEnd:t ; backpg, warm.;---------------------------------------------------------------; Gcr: tu΂exby fm fiمgC,;nОnof fi fggA.If curɲ; corЯxd, aОcorЮ buffer.;; Aum:ÐBuffeȯpagbory.; Op: byC.End-of-fi fgA.; Pɹrv:lb A, C, fgs.;---------------------------------------------------------------Gcr:l Inxo a ; Inx > 127?jp Gcr2 ; .., cn;; ...t buffeȯmpty, aИcorЮt.;SERVICE BsRd,CpmFcbo a ;-ze̅f phyca؎of fi.z ; qt, Aze,fr. ;trwcn, A=Inx=00Gcr2:ph h ;avHL,formddɿmvi h,HIGH(Buffer) ; ..of ӓ g Buffepagemov l,a ; ..Inx ( A).mov c,m ; C := byr aa Inx ; Inx := Inx + 1x a ; EOF, tu ze fgpop ht ;nGcr.;---------------------------------------------------------------; Op:t byAt c.Beg byng;ff gb, beca爼mworpcχ B 7n;pecl-purpcaragtus,tc.Tif bys; pͲab jtyp.Ift'ctccِt; Ct⮈t˷ۑfit.;pɹrv:lg.;---------------------------------------------------------------Op:ph pswi AscDEL ;u΄ff gb.cpi AscBnk ;f A<" " (carryt),cc Ct؀ ; A := Ctl(A)cpi AscDEL ; ..oif ADEL,cz Ct؀ ; A := Ctl(A)call TypeCȀ; TypeCr(A)pop pswt;---------------------------------------------------------------; Ctl:˷ۑ ctccȔ pͲab form.; Cngmct߂ԗ.CngCRLFo; back-ssÐtnoformaݱnׄ.;pɹrv:lb A, fgs.;op: pͲab byA;---------------------------------------------------------------Ctl:cpi AscCRJRZ Ctl2cpi AscLFJRZ Ctl2mvi A,'.'tCtl2:mvi A,'\'t;---------------------------------------------------------------; SwRecord: spy cornumber.Typtwspac,n; foux gof "Record".;pɹrv:ll.;---------------------------------------------------------------SwRecord:ph hcall TypeBnkcall TypeBnklhld Recordcall TypeXXXX ; TypeXXXX(Record)pop ht;---------------------------------------------------------------; Nofi:np fi ԏn'ext.AtŸp; commГiؚ c80okkts:;; pacfiٳm00;; wɆ ngt00nulby.Tu΅; mgng kts:;; pacfiٳme?$;;nabo wt mg' fiٳme?'Ðsus.Ts; co øtwbug(xt),o.;---------------------------------------------------------------Nofi:l CpmT; A := ngtof "il"mov e,a ; maktÐ16-begermvi d,0lxi h,CpmTl+1 ; HL->aʄf "il"d d ; HL->nulbyof "il"mvi m,'?' ; compّ mge: "fiٳme?"x hmvi m,'$' ;ermofomgngABORT CpmTl+1 ; ;===============================================================;tnclusub⮏...; #clu TypeSubs.Inc,TypeComm -- TypeCr, -CRLF,tc.; #clu TypeSubs.Inc,TypeXXXX;===============================================================; T corbuffer,tnД makt .COM fiهmalr.; Aߠ pagbory, n'forg.ORGPAGEBuffer: 128;; FoMP/M, .HEX fiهulaccofot fulؽzof; pgm,abقexruc:; db 0END