To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.nqcOpen lugnet.robotics.rcx.nqc in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / NQC / 1362
1361  |  1363
Subject: 
maximum number of variables in RCX2 ?
Newsgroups: 
lugnet.robotics.rcx.nqc
Date: 
Wed, 20 Feb 2002 07:15:33 GMT
Viewed: 
3255 times
  
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" , and several functions?

The reason I ask this question, is that my understanding of local variables
is that space is allocated only when the function has been called.  Once the
function is complete, the memory that was used to store those local
variables is returned back to the ‘memory pool’.  If anyone could clarify
the limitations of NQC variables, as well as how the limitations apply to
arrays, I would greatly appreciate it.

Thanks,

John



Message has 4 Replies:
  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)

5 Messages in This Thread:




Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR