OSBGET

From BeebWiki
Revision as of 20:09, 17 September 2023 by Jgharston (talk | contribs) (Added 68000.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
OSBGET: Read (get) a byte

Specification

6502 Z80 6809 PDP11 80x86 32016 ARM 68000 RISC-V On entry: On exit:
A A A R0 AL R1 R0 D0 A0 - = byte read
Y H Y R1 BX R2 R1 D1 A1 = handle preserved
Cy=EOF status

If the byte read is after the end of file, the carry flag is set on exit and the EOF-error-flag is set. After the EOF byte has been read, the next read produces an error. An error is generated if the object is a directory or doesn't have read access.

Calling from BBC BASIC

  • b%=BGET#ch calls OSBGET.

Special handles

Some systems allow BGET#0 to read from the character input stream via OSRDCH.

Entry points

  • BBC BASIC Entry Address: &FFD7
  • 6502 Entry Address: &FFD7, vectors via &0216
  • Z80 Entry Address: &FFD7, vectors via &FFD8
  • 6809 Entry Address: &FFD7, vectors via &FFD8
  • 80x86 Entry Address: INT &43, vectors via 0000:010C
  • 32000 Entry Address: SVC &0D
  • PDP-11 Entry Address: EMT 9, vector &09
  • ARM Entry Address: SWI &0A "OS_BGet", vector &0A
  • 68000 Entry Address: MOV #&0A,A0:TRAP 12
  • RISC-V Entry Address: ECALL &AC0009

Implementations

All filing systems implement OSBGET.

Filing System Calls
  • OSFILE : File and directory operations
  • OSARGS : Information on open objects
  • OSBGET : Read (get) a byte
  • OSBPUT : Write (put) a byte
  • OSGBPB : Read or write multiple bytes of data
  • OSFIND : Open or close an object
  • FSCV : Filing system control

Jgharston 16:56, 6 November 2009 (UTC)