| | maximum number of variables in RCX2 ?
|
|
When using the RCX2 target, the NQC manual (Section 2.2.4) states that 32 global variables, and 16 local variables (per task) are allowed. Does this mean that the whole program can only have 48 variables total when using only one task, ie. "main" , (...) (23 years ago, 20-Feb-02, to lugnet.robotics.rcx.nqc)
|
|
| | Re: maximum number of variables in RCX2 ?
|
|
(...) this (...) only (...) variables (...) the (...) From my understanding of NQC, the compiler automatically selects the most suitable location to store variables. Global variables are obviously always allocated in one of the 32 global storage (...) (23 years ago, 20-Feb-02, to lugnet.robotics.rcx.nqc)
|
|
| | Re: maximum number of variables in RCX2 ?
|
|
Hi John, (...) Yes ! Using more tasks you will get more local space (for each task 16). So maximum number of variables is 32+(16*10) = 192 (...) That's how NQC is handling memory for local variables in functions, subroutines, tasks. Local has a (...) (23 years ago, 20-Feb-02, to lugnet.robotics.rcx.nqc)
|
|
| | Re: maximum number of variables in RCX2 ?
|
|
(...) Remember that the RCX has no stack or heap. This means that, effectively, there is no memory pool from which to allocate things. Here, 'local' means belonging to the current task not the current function, and the number of tasks is fixed (at (...) (23 years ago, 20-Feb-02, to lugnet.robotics.rcx.nqc)
|
|
| | Re: maximum number of variables in RCX2 ?
|
|
(...) Lego's usage of the terms'local' and 'global' is a little different than what most people expect. In the RCX, global storage is available across all tasks while local storage is avaialble per task. This is different from the more traditional (...) (23 years ago, 21-Feb-02, to lugnet.robotics.rcx.nqc)
|