extrn .broom, .inrdy, .ordy ; ; set ordy and inrdy bits in a for buffer hl^ ; ordy means buffer can accept a byte, inrdy means buffer has a byte ; a,f .bsta:: push b ! push d call .broom; don't modify pointers ani .inrdy mov d,a; 0 if buffer empty, else inrdy bit mov a,b ora c jz bsta1; full mvi a,.ordy bsta1: ora d pop d ! pop b ret