111 cpu_label( _environment, procedureParallelDispatch );
123 outline0(
"; start end proc with parallel");
137 cpu_jump( _environment, protothreadLabel );
140 cpu_label( _environment, procedureEndedLabel );
141 cpu_label( _environment, procedureSuspendedLabel );
147 cpu_label( _environment, procedureAfterLabel );
152 while( current->
next ) {
154 current = current->
next;
163 while( varLast->
next ) {
164 varLast = varLast->
next;
166 varLast->
next = current;
void cpu_protothread_get_state(Environment *_environment, char *_index, char *_state)
void cpu_protothread_restore(Environment *_environment, char *_index, char *_step)
void cpu_protothread_save(Environment *_environment, char *_index, int _step)
void cpu_protothread_set_state(Environment *_environment, char *_index, int _state)
void cpu_label(Environment *_environment, char *_label)
void cpu_jump(Environment *_environment, char *_label)
void cpu_prepare_for_compare_and_branch_8bit(Environment *_environment, char *_source)
void cpu_return(Environment *_environment)
void cpu_execute_compare_and_branch_8bit_const(Environment *_environment, int _destination, char *_label, int _positive)
CPU 6309: emit code to compare two 8 bit values and jump if they are equal/different
void cpu_compare_and_branch_8bit_const(Environment *_environment, char *_source, int _destination, char *_label, int _positive)
CPU 6309: emit code to compare two 8 bit values and jump if they are equal/different
Variable * variable_retrieve(Environment *_environment, char *_name)
Variable * variable_retrieve_or_define(Environment *_environment, char *_name, VariableType _type, int _value)
int variable_exists(Environment *_environment, char *_name)
Variable * variable_move(Environment *_environment, char *_source, char *_destination)
Store the value of a variable inside another variable by converting it.
Variable * variable_define(Environment *_environment, char *_name, VariableType _type, int _value)
Define a variable for the program.
Variable * variable_temporary(Environment *_environment, VariableType _type, char *_meaning)
Define a temporary variable.
void end_procedure(Environment *_environment, char *_value)
Emit code for END PROC.
Variable * procedureVariables
VariableType defaultVariableType
#define PROTOTHREAD_STATUS_ENDED
#define MAX_TEMPORARY_STORAGE
struct _Variable Variable
Structure of a single variable.
#define CRITICAL_PROCEDURE_NOT_OPENED()
struct _Environment Environment
Structure of compilation environment.
#define PROTOTHREAD_STATUS_PAUSED