home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / utils / asmutl / buffers.lbr / BGET.MZC / BGET.MAC
Encoding:
Text File  |  1987-01-14  |  640 b   |  20 lines

  1.     extrn    .dcxm, .advptr
  2. ;
  3. ; get byte from buffer hl^.  No ready/range checks. Clear carry
  4. ; a,f
  5. .bget::    push h    ! push d ! push b
  6.     inx h    ! inx h;        adv to size store
  7.     mov c,m    ! inx h ! mov b,m;    get size
  8.     inx h    ! inx h ! inx h;    point to ctr field
  9.     call    .dcxm ! inx h;        and decrement
  10.     mov e,m ! inx h ! mov d,m;    get read ptr
  11.     push    d;            save, before advance
  12.     call    .advptr;            advance modulo bc
  13.     mov m,d    ! dcx h ! mov m,e;    and save
  14.     pop    d
  15.     inx h    ! inx h;        wptr
  16.     inx h    ! inx h;        advance to buff base
  17.     dad d    ! mov a,m;        index and get char. clr cy.
  18.     pop b    ! pop d ! pop h
  19.     ret
  20. ╟