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.6.12.1 Bindings für edit_get_pos TOS
C: void edit_get_pos ( OBJECT *tree, int16_t obj, int16_t
*xscroll, int32_t *yscroll, int8_t **cyscroll, int8_t
**cursorpos, int16_t *cx, int16_t *cy );
Umsetzung:
void edit_get_pos ( OBJECT *tree, int16_t obj,
int16_t *xscroll, int32_t *yscroll,
int8_t **cyscroll, int8_t **cursorpos,
int16_t *cx, int16_t *cy )
{
int_in[0] = obj;
int_in[1] = 5; /* Subcode für Funktion */
addr_in[0] = tree;
crys_if( 216 );
*xscroll = int_out[1];
*yscroll = int_out[2..3];
*cx = int_out[4];
*cy = int_out[5];
*cyscroll = addr_out[0];
*cursorpos = addr_out[1];
return;
}
GEM-Arrays:
Adresse Feldelement Belegung
control control[0] 216 # Opcode der Funktion
control+2 control[1] 2 # Einträge in int_in
control+4 control[2] 6 # Einträge in int_out
control+6 control[3] 1 # Einträge in addr_in
control+8 control[4] 2 # Einträge in addr_out
int_in int_in[0] obj
int_in+2 int_in[1] 5 # Sub-Opcode
addr_in addr_in[0] tree
int_out int_out[0] undefiniert
int_out+2 int_out[1] xscroll
int_out+4 int_out[2..3] yscroll
int_out+8 int_out[4] cx
int_out+10 int_out[5] cy
addr_out addr_out[0] cyscroll
addr_out+4 addr_out[1] cursorpos