OSBPUT

From BeebWiki
Revision as of 20:10, 17 September 2023 by Jgharston (talk | contribs) (Calling from BBC BASIC)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
OSBPUT: Write (put) 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 to write   preserved
Y H Y R1 BX R2 R1 D1 A1 = handle preserved

An error is generated if the object is a directory or doesn't have write access. The EOF-error-flag is cleared.

Calling from BBC BASIC

  • BPUT#ch%,b% calls OSBPUT.

Special handles

Some systems allow BPUT#0 to write to the character output stream via OSWRCH.

Entry points

  • BBC BASIC Entry Address: &FFD4
  • 6502 Entry Address: &FFD4, vectors via &0218
  • Z80 Entry Address: &FFD4, vectors via &FFD5
  • 6809 Entry Address: &FFD4, vectors via &FFD5
  • 80x86 Entry Address: INT &42, vectors via 0000:0108
  • 32000 Entry Address: SVC &0E
  • PDP-11 Entry Address: EMT 10, vector &0A
  • ARM Entry Address: SWI &0B "OS_BPut", vector &0B
  • 68000 Entry Address: MOV #&0B,A0:TRAP 12
  • RISC-V Entry Address: ECALL &AC000A

Implementations

OSBPUT is implemented by all filing systems that allow writing.

See also

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:57, 6 November 2009 (UTC)