From BeebWiki
Jump to: navigation, search

Waits for a character from the current input stream.


 6502   Z80   6809   PDP11   80x86   32016   ARM  On entry: On exit:
A A A R0 AL R1 R0 - = byte read
Cy=Error status

If an error occured (usually, Escape being pressed), then the carry flag is set on exit. If the error was Escape, then A will be &1B.

Calling from BBC BASIC

  • b%=GET calls OSRDCH.
  • b$=GET$ calls OSRDCH.

Entry points

  • BBC BASIC Entry Address: &FFE0
  • 6502 Entry Address: &FFE0, vectors via &0210
  • Z80 Entry Address: &FFE0, vectors via &FFE1
  • 6809 Entry Address: &FFE0, vectors via &FFE1
  • 80x86 Entry Address: INT &46, vectors via 0000:0118
  • 32000 Entry Address: SVC &05
  • PDP-11 Entry Address: EMT 5, vector &05
  • ARM Entry Address: SWI &04 "OS_ReadC", vector &04


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

Jgharston 17:02, 6 November 2009 (UTC)