Entry | |
---|---|
R0 | 9 (Reason code) |
R1 | Internal buffer ID |
R3 | Number of bytes read since last call |
R12 | Value returned by Buffer_InternalInfo |
Exit | |
---|---|
R2 | Pointer to first byte in next block to be removed |
R3 | Number of bytes in next block |
This call can be used to read data from a buffer without copying it. First call with R3 set to 0. The call returns a pointer to the next byte to be removed, and the number of contiguous bytes which can be read from that address. Subsequent calls should have R3 set to the number of bytes read, at which point the buffer indices will be updated to purge the data and the call will return the next block of data.
You must be sure that you are the only device using this call on a particular buffer. The C flag is set if the buffer is empty.