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