Difference between revisions of "OSBPUT"
m (→Calling from BBC BASIC) |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
==Specification== | ==Specification== | ||
− | {| cellpadding="0" cellspacing="0" | + | {| cellpadding="0" cellspacing="0" border="1" |
− | | | + | | 6502 || Z80 || 6809 || PDP11 || 80x86 || 32016 || ARM || 68000 || 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 || D0 || 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 || D1 || A1 || align="left" | = handle || align="left" | preserved |
|} | |} | ||
Line 14: | Line 14: | ||
==Calling from BBC BASIC== | ==Calling from BBC BASIC== | ||
− | * '''<code>BPUT#ch%,b%</code''' | + | * '''<code>BPUT#ch%,b%</code>''' calls OSBPUT. |
==Special handles== | ==Special handles== | ||
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 | ||
+ | * 68000 Entry Address: MOV #&0B,A0:TRAP 12 | ||
+ | * RISC-V Entry Address: ECALL &AC000A | ||
==Implementations== | ==Implementations== | ||
Line 35: | Line 37: | ||
* [[OSBYTE &9D]] | * [[OSBYTE &9D]] | ||
+ | {{Filing}} | ||
[[User:Jgharston|Jgharston]] 16:57, 6 November 2009 (UTC) | [[User:Jgharston|Jgharston]] 16:57, 6 November 2009 (UTC) |
Latest revision as of 20:10, 17 September 2023
OSBPUT: Write (put) a byte
Contents
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 | |
---|---|
Jgharston 16:57, 6 November 2009 (UTC)