Difference between revisions of "OSBPUT"
(Added RISC-V.) |
|||
Line 3: | Line 3: | ||
==Specification== | ==Specification== | ||
− | {| cellpadding="0" cellspacing="0" | + | {| cellpadding="0" cellspacing="0" border="1" |
− | | | + | | 6502 || Z80 || 6809 || PDP11 || 80x86 || 32016 || ARM || RISC-V || align="left" | '''On entry:''' || align="left" | '''On exit:''' |
|- align="center" valign="top" | |- align="center" valign="top" | ||
− | | A || A || A || R0 || AL || R1 || R0 || align="left" | = byte to write || align="left" | preserved | + | | A || A || A || R0 || AL || R1 || R0 || A0 || align="left" | = byte to write || align="left" | preserved |
|- align="center" valign="top" | |- align="center" valign="top" | ||
− | | Y || H || Y || R1 || BX || R2 || R1 || align="left" | = handle || align="left" | preserved | + | | Y || H || Y || R1 || BX || R2 || R1 || A1 || align="left" | = handle || align="left" | preserved |
|} | |} | ||
Line 28: | Line 28: | ||
* PDP-11 Entry Address: EMT 10, vector &0A | * PDP-11 Entry Address: EMT 10, vector &0A | ||
* ARM Entry Address: SWI &0B "OS_BPut", vector &0B | * ARM Entry Address: SWI &0B "OS_BPut", vector &0B | ||
+ | * RISC-V Entry Address: ECALL &AC000A | ||
==Implementations== | ==Implementations== | ||
Line 35: | Line 36: | ||
* [[OSBYTE &9D]] | * [[OSBYTE &9D]] | ||
+ | {{Filing}} | ||
[[User:Jgharston|Jgharston]] 16:57, 6 November 2009 (UTC) | [[User:Jgharston|Jgharston]] 16:57, 6 November 2009 (UTC) |
Revision as of 19:11, 10 September 2023
OSBPUT: Write (put) a byte
Contents
Specification
6502 | Z80 | 6809 | PDP11 | 80x86 | 32016 | ARM | RISC-V | On entry: | On exit: |
A | A | A | R0 | AL | R1 | R0 | A0 | = byte to write | preserved |
Y | H | Y | R1 | BX | R2 | R1 | 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%</code
> calls OSBPUT.
Special handles
Some systems allow <code>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
- RISC-V Entry Address: ECALL &AC000A
Implementations
OSBPUT is implemented by all filing systems that allow writing.
See also
Filing System Calls | |
---|---|
Jgharston 16:57, 6 November 2009 (UTC)