.define Mread .sect .text .sect .rom .sect .data .sect .bss .sect .text ! This subroutine reads characters from the standard input. ! It ignores the filedes. ! It reads atmost 255 characters. So the runtime system must ! provide a way of dealing with this. ! The subroutine RDCH is a special one provided by the BBC ! microcomputer. Mread: jsr Pop ! ignore filedescriptor jsr Pop ! bufptr stx ADDR ! address of character buffer (lowbyte) sta ADDR+1 ! address of character buffer (highbyte) jsr Pop ! number of characters ldy #0 ! <= 255 inx 1: jsr RDCH ! read a character from the current inputstream bcs 8f sta (ADDR),y iny dex bne 1b 8: tya tax lda #0 jsr Push ! number of characters red. tax ! report a succesfull read. rts