HPlogo System Debug Reference Manual > Chapter 11 System Debug Standard Functions

func symlen

MPE documents

Complete PDF
Table of Contents
Index

E0201 Edition 4 ♥
E0300 Edition 3
E0692 Edition 3

Returns the length of a data structure in bits or bytes.

Syntax



   symlen (pathspec [units])  

Formal Declaration



   symlen:u32 (pathspec:str [units:u32=$8]) 

Parameters


pathspec

A path specification, as described in chapter 5, "Symbolic Formatting/Symbolic Access."

units

Specifies the units (that is, bit width) in which the result is given. 1 means bits, 8 means bytes, 32 means words. The default is bytes.

The symbolic length is rounded up to the nearest whole unit.

Examples



   $nmdebug > symopen gradtyp.demo

Opens the symbolic data type file gradtyp.demo. It is assumed that the Debug variable addr contains the address of a StudentRecord data structure in virtual memory. The following code fragment is from this file:

   CONST     MINGRADES   = 1;     MAXGRADES   = 10;
             MINSTUDENTS = 1;     MAXSTUDENTS = 5;

   TYPE
      GradeRange    = MINGRADES .. MAXGRADES;
      GradesArray   = ARRAY [ GradeRange ] OF integer;

      Class         = ( SENIOR, JUNIOR, SOPHOMORE, FRESHMAN );
      NameStr       = string[8];

      StudentRecord = RECORD
                        Name      : NameStr;
                        Id        : Integer;
                        Year      : Class;
                        NumGrades : GradeRange;
                        Grades    : GradesArray;
                      END;


   $nmdebug > wl SYMLEN("StudentRecord")
   $40

Returns the size of a complete StudentRecord in bytes.

   $nmdebug > wl SYMLEN("StudentRecord"  1)
   $200

Returns the size of a complete StudentRecord in bits.

   $nmdebug > wl SYMLEN("StudentRecord.Grades" #32)
   $a

Returns the size of grades field in a StudentRecord in words.

Limitations, Restrictions


none




func syminset


func symtype