Topic : TOS - das Betriebssystem
Author :
Version : tos.hyp (5. März 2013)
Subject : Programmieren/Atari
Nodes : 3001
Index Size : 93602
HCP-Version : 5
Compiled on : Atari
@charset : atarist
@lang :
@default : Titel
@help :
@options : +g -i -s +x +zz -t4
@width : 70
View Ref-File8.10.5.1 Bindings für fslx_open TOS
C: void *fslx_open ( int8_t *title, int16_t x, int16_t y,
int16_t *whdl, int8_t *path, int16_t pathlen, int8_t
*fname, int16_t fnamelen, int8_t *patterns, XFSL_FILTER
*filter, int8_t *paths, int16_t sort_mode, int16_t flags
);
Umsetzung:
void *fslx_open ( int8_t *title, int16_t x, int16_t y, int16_t *whdl,
int8_t *path, int16_t pathlen, int8_t *fname,
int16_t fnamelen, int8_t *patterns,
XFSL_FILTER *filter, int8_t *paths,
int16_t sort_mode, int16_t flags )
{
addr_in[0] = title;
addr_in[1] = path;
addr_in[2] = fname;
addr_in[3] = patterns;
addr_in[4] = filter;
addr_in[5] = paths;
int_in[0] = x;
int_in[1] = y;
int_in[2] = pathlen;
int_in[3] = fnamelen;
int_in[4] = sort_mode;
int_in[5] = flags;
crys_if (190);
*whdl = int_out[0];
return ( (void *) addr_out[0] );
}
GEM-Arrays:
Adresse Feldelement Belegung
control control[0] 190 # Opcode der Funktion
control+2 control[1] 6 # Einträge in int_in
control+4 control[2] 1 # Einträge in int_out
control+6 control[3] 6 # Einträge in addr_in
control+8 control[4] 1 # Einträge in addr_out
addr_in addr_in[0] title
addr_in+4 addr_in[1] path
addr_in+8 addr_in[2] fname
addr_in+12 addr_in[3] patterns
addr_in+16 addr_in[4] filter
addr_in+20 addr_in[5] paths
int_in int_in[0] x
int_in+2 int_in[1] y
int_in+4 int_in[2] pathlen
int_in+6 int_in[3] fnamelen
int_in+8 int_in[4] sort_mode
int_in+10 int_in[5] flags
addr_out addr_out[0] Return-Wert
int_out int_out[0] whdl