home *** CD-ROM | disk | FTP | other *** search
- extrn .dcxm, .advptr
- ;
- ; get byte from buffer hl^. No ready/range checks. Clear carry
- ; a,f
- .bget:: push h ! push d ! push b
- inx h ! inx h; adv to size store
- mov c,m ! inx h ! mov b,m; get size
- inx h ! inx h ! inx h; point to ctr field
- call .dcxm ! inx h; and decrement
- mov e,m ! inx h ! mov d,m; get read ptr
- push d; save, before advance
- call .advptr; advance modulo bc
- mov m,d ! dcx h ! mov m,e; and save
- pop d
- inx h ! inx h; wptr
- inx h ! inx h; advance to buff base
- dad d ! mov a,m; index and get char. clr cy.
- pop b ! pop d ! pop h
- ret
- ╟