home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dream 52
/
Amiga_Dream_52.iso
/
RiscOS
/
APP
/
DEVS
/
LIB
/
GSTOBJ.ZIP
/
GstObjects
/
message
/
Example
/
BasicC
(
.txt
)
< prev
next >
Wrap
RISC OS BBC BASIC V Source
|
1994-09-10
|
1KB
|
49 lines
C from BASIC
Author: George Taylor, george@tardis.ed.ac.uk
_StringFrom0(A%)
basicC_StringFrom0,A%
_StringTo0(A%)
basicC_StringTo0,A%
_CCall(x)
x<100
= VectorBase+x*4
= VectorBase+192+(x-100)*4
_BasicCInit
VectorBase=
basicC_Init
_AssembleRequests_basicC
b,p,P%,requestBlock,pairsStart,pairsEnd,branchStart,branchEnd
b 256
p=0
[ OPT p
.requestBlock
; Adhesive request block
EQUD 142
EQUD 0
EQUD 0
EQUD 0
$# EQUD (branchEnd-branchStart)/4
%! EQUD (pairsEnd-pairsStart)/8
; pairs themselves
.pairsStart
EQUD 0
EQUD 5
.pairsEnd
; branch table
.branchStart
.basicC_StringTo0
MOVS PC,R14
.basicC_StringFrom0
MOVS PC,R14
.basicC_ToDouble
MOVS PC,R14
.basicC_FromDouble
MOVS PC,R14
.basicC_Init
MOVS PC,R14
.basicC_CCall
MOVS PC,R14
.branchEnd
EQUD 0
= requestBlock