1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4<meta http-equiv="Content-Style-Type" content="text/css">
5<title>Executable Binary Files</title>
6<style type="text/css">
7<!--
8body {
9/*
10    font-size       : 10pt;
11*/
12    font-weight     : normal;
13    color           : #000000;
14    margin          : 8px;
15}
16
17div {
18    width           : 98%;
19    white-space     : nowrap;
20}
21
22div.title {
23    text-align      : left;
24    font-weight     : bold;
25/*
26    font-size       : 16pt;
27*/
28    font-size       : 150%;
29    color           : #202020;
30    border-style    : double;
31    border-width    : 8px;
32    /* タイトルを囲む枠線の色を指定 */
33    border-color    : #CD202C;
34
35    /* RVLプラットフォーム系列 */
36/*
37    border-color    : #34beed;
38*/
39
40    /* TWLプラットフォーム系列 */
41/*
42    border-color    : #ff458f;
43*/
44
45    margin          : 4px;
46    padding         : 4px;
47}
48H1 {
49  font-size             : 150%;
50  font-family           : Arial;
51  border-bottom-width   : 5px;
52  border-bottom-style   : solid;
53  border-bottom-color   : #CD202C;
54  padding-bottom        : 1px;
55  margin-bottom         : 20px;
56  letter-spacing        : normal;
57  font-weight           : bold;
58}
59
60h2 {
61    font-weight     : bold;
62/*
63    font-size       : 16pt;
64*/
65    font-size       : 150%;
66    border-style    : none none solid double;
67    border-width    : 0px 0px 2px 8px;
68    /* 見出しの線の色を指定 */
69    border-color    : #CD202C;
70
71    /* RVLプラットフォーム系列 */
72/*
73    border-color    : #34beed;
74*/
75
76    /* TWLプラットフォーム系列 */
77/*
78    border-color    : #ff458f;
79*/
80
81    margin-left     : 2px;
82    padding-left    : 4px;
83}
84
85h3 {
86    font-weight     : bold;
87    font-size       : 120%;
88    border-style    : none none solid solid;
89    border-width    : 0px 0px 2px 2px;
90    border-color    : #CD202C;
91    margin-left     : 2px;
92    padding-left    : 4px;
93}
94CODE {
95  font-family       : "Courier New", monospace;
96  position          : normal;
97  left              : 12px;
98  font-size         : 90%;
99}
100table {
101  width             : 90%;
102  margin-top        : 2pt;
103  margin-bottom     : 2pt;
104  margin-left       : 0pt;
105  margin-right      : 0pt;
106  padding-left      : 0pt;
107  padding-right     : 0pt;
108  position          : relative;
109  left              : 12px;
110  font-family       : Arial;
111  font-size         : 90%;
112  border-style      : none none none none;
113}
114td,th {
115  padding           : 2pt;
116  border-width      : 2pt;
117  border-style      : none none none none;
118  font-style        : normal;
119  text-align        : left;
120}
121td {
122  background        : #e8f4f4;
123  font-weight       : normal;
124}
125th {
126  background        : #c0d8d8;
127  font-weight       : bold;
128}
129
130p {
131    margin-left     : 4px;
132}
133p.code {
134  font-family       : "Courier New", monospace;
135  position          : normal;
136  left              : 12px;
137  font-size         : 90%;
138  background        : #e8f4f4;
139}
140
141p.notice {
142  color             : black;
143  font-weight       : bold;
144  font-size         : 90%;
145  border            : solid 1px black;
146  padding           : 1em;
147}
148
149-->
150</style>
151
152</head>
153<body>
154
155  <h1><a name="top">Executable Binary Files</a></h1>
156  <p>
157    This page describes the format of executable binary files created using <CODE>ctr_VertexShaderLinker32</CODE>.<BR>
158  </p>
159
160  <h2><a name="block_list">File Organization</a></h2>
161  <p>
162    Executable binary files consist of the following blocks.<BR> <br>
163    <table>
164      <tr>
165        <th>Blocks</th>
166        <th>Structures</th>
167        <th>Start position offset (in bytes)</th>
168        <th>Number of blocks</th>
169        <th>Size per block (in bytes)</th>
170      </tr>
171      <tr>
172        <th><a href="#file_header">Binary File Header</a></th>
173        <td>BINFILEHEADER</td>
174        <td>0</td>
175        <td>1</td>
176        <td>12</td>
177      </tr>
178      <tr>
179        <th><a href="#package_info">Package Information</a></th>
180        <td>----</td>
181        <td>12</td>
182        <td>1</td>
183        <td>----</td>
184      </tr>
185      <tr>
186        <th><a href="#exe_image_info">Executable Image Information</a></th>
187        <td>----</td>
188        <td>BINFILEHEADER.exeOffsetTop</td>
189        <td>BINFILEHEADER.exeCount</td>
190        <td>----</td>
191      </tr>
192    </table>
193    <br> <br>
194  </p>
195
196  <h2><a name="file_header">Binary File Header</a></h2>
197  <p>
198    Binary files include a variable length binary file header located at the start of the file.<BR> <br> The binary file header consists of the following.<br> <br>
199<pre><p class="code">typedef struct tagBINFILEHEADER {
200  char signature[4];
201  unsigned int exeCount;
202  unsigned int exeOffsetTop;
203} BINFILEHEADER</p></pre>
204    <table>
205      <tr>
206        <th width="20%">Name</th>
207        <th>Description</th>
208      </tr>
209      <tr>
210        <td>signature</td>
211        <td>Stores the character string &quot;DVLB&quot;.</td>
212      </tr>
213      <tr>
214        <td>exeCount</td>
215        <td>The number of instances of executable image information.</td>
216      </tr>
217      <tr>
218        <td>exeOffsetTop</td>
219        <td>Stores the offset in bytes from the start of the file to the first byte of executable image information.<BR>If <CODE>exeCount</CODE> is greater than 1, the binary file includes more than one instance of executable image information.<BR>An offset in bytes to each instance of executable image information is stored every four bytes, immediately after <CODE>exeOffsetTop</CODE>.</td>
220      </tr>
221    </table>
222  </p>
223
224  <h2><a name="package_info">Package Information</a></h2>
225  <p>
226    Package information is located immediately after the binary file header.<BR> <br> Package information consists of the following.<br> <br>
227    <table>
228      <tr>
229        <th>Blocks</th>
230        <th>Structures</th>
231        <th>Start position offset (in bytes)</th>
232        <th>Number of blocks</th>
233        <th>Size per block (in bytes)</th>
234      </tr>
235      <tr>
236        <th><a href="#package_header">Package Information Header</a></th>
237        <td>PKGHEADER</td>
238        <td>0</td>
239        <td>1</td>
240        <td>40</td>
241      </tr>
242      <tr>
243        <th><a href="#code_info">Program Code Information</a></th>
244        <td>----</td>
245        <td>PKGHEADER.instOffset</td>
246        <td>1</td>
247        <td>PKGHEADER.instCount</td>
248      </tr>
249      <tr>
250        <th><a href="#swizzle_info">Swizzle Data Information</a></th>
251        <td>SWIZZLEINFO</td>
252        <td>PKGHEADER.swizzleOffset</td>
253        <td>PKGHEADER.swizzleCount</td>
254        <td>8</td>
255      </tr>
256      <tr>
257        <th><a href="#line_info">Line Information</a></th>
258        <td>LINEINFO</td>
259        <td>PKGHEADER.lineOffset</td>
260        <td>PKGHEADER.lineCount</td>
261        <td>8</td>
262      </tr>
263      <tr>
264        <th><a href="#string_info">String Data</a></th>
265        <td>----</td>
266        <td>PKGHEADER.stringOffset</td>
267        <td>1</td>
268        <td>PKGHEADER.stringSize</td>
269      </tr>
270    </table>
271    <br> <br>
272  </p>
273
274  <h3><a name="package_header">Package Information Header</a></h3>
275  <p>
276    The fixed header is located at the start of package information.<BR> You can get the location of data in each information block and the number of instances of data based on header information.<BR> <br> The package information header consists of the following.<br>
277<pre><p class="code">typedef struct tagPKGHEADER {
278  char signature[4];
279  char     version[2];
280  unsigned short reserved0;
281  unsigned int instOffset;
282  unsigned int instCount;
283  unsigned int swizzleOffset;
284  unsigned int swizzleCount;
285  unsigned int lineOffset;
286  unsigned int lineCount;
287  unsigned int stringOffset;
288  unsigned int stringSize;
289} PKGHEADER</p></pre>
290    <table>
291      <tr>
292        <th width="20%">Name</th>
293        <th>Description</th>
294      </tr>
295      <tr>
296        <td>signature</td>
297        <td>Stores the character string &quot;DVLP&quot;.</td>
298      </tr>
299      <tr>
300        <td>version</td>
301        <td>Stores the linker tool version. The first byte represents the major version number and the second byte represents the minor version number.</td>
302      </tr>
303      <tr>
304        <td>instOffset</td>
305        <td>The byte index included in package information for the program code information block.</td>
306      </tr>
307      <tr>
308        <td>instCount</td>
309        <td>The number of instances of data in program code information.</td>
310      </tr>
311      <tr>
312        <td>swizzleOffset</td>
313        <td>The byte index included in package information for the swizzle data information block.</td>
314      </tr>
315      <tr>
316        <td>swizzleCount</td>
317        <td>The number of instances of data in swizzle data information.</td>
318      </tr>
319      <tr>
320        <td>lineOffset</td>
321        <td>The byte index included in package information for the line information block.</td>
322      </tr>
323      <tr>
324        <td>lineCount</td>
325        <td>The number of instances of line information.</td>
326      </tr>
327      <tr>
328        <td>stringOffset</td>
329        <td>The byte index inside package information to the string data block.</td>
330      </tr>
331      <tr>
332        <td>stringSize</td>
333        <td>The number of bytes of string data.</td>
334      </tr>
335    </table>
336  </p>
337
338  <h3><a name="code_info">Program Code Information</a></h3>
339  <p>
340The program code information block given by <CODE>instOffset</CODE> in the package information header stores the number of instances of program code information given by <CODE>instCount</CODE>.<BR>Program code information is represented by 32-bit data that corresponds to a single shader assembler instruction. (Not including define instructions. Macro instructions and flow control instructions do not always have a one-to-one correspondence between a single instruction and a single instance of program code information.)<br>
341  </p>
342
343  <h3><a name="swizzle_info">Swizzle Data Information</a></h3>
344  <p>
345    The swizzle data information block given by <CODE>swizzleOffset</CODE> in the package information header stores the number of instances of swizzle data information given by <CODE>swizzleCount</CODE>.<BR> <br> Swizzle data information consists of the following.<br> <br>
346<pre><p class="code">typedef struct tagSWIZZLEINFO {
347  unsigned int   value;
348  unsigned short usedInfo;
349  unsigned short reserve;
350} SWIZZLEINFO</p></pre>
351    <table>
352      <tr>
353        <th width="20%">Name</th>
354        <th>Description</th>
355      </tr>
356      <tr>
357        <td>value</td>
358        <td>Swizzle information data.</td>
359      </tr>
360      <tr>
361        <td>usedInfo</td>
362        <td>Internal information used during linking.</td>
363      </tr>
364      <tr>
365        <td>reserve</td>
366        <td>The reserved region.</td>
367      </tr>
368    </table>
369  </p>
370
371  <h3><a name="line_info">Line Information</a></h3>
372  <p>
373    The line information block, given by <CODE>lineOffset</CODE> in the package information header, stores the number of instances of line information given by <CODE>lineCount</CODE>.<BR> Line information has a one-to-one correspondence with program code information. It possesses the same information regarding the file name and number of lines for the shader assembler having program code information with the same index.<BR> <br> Line information consists of the following.<br> <br>
374<pre><p class="code">typedef struct tagLINEINFO {
375  unsigned int stringIndex;
376  unsigned int lineNo;
377} LINEINFO</p></pre>
378    <table>
379      <tr>
380        <th width="20%">Name</th>
381        <th>Description</th>
382      </tr>
383      <tr>
384        <td>stringIndex</td>
385        <td>The index to the location where the shader assembler file name is stored for the corresponding program code. This is the byte index inside the string data block.</td>
386      </tr>
387      <tr>
388        <td>lineNo</td>
389        <td>The number of shader assembler lines for the corresponding program code.</td>
390      </tr>
391    </table>
392  </p>
393
394  <h3><a name="string_info">String Data</a></h3>
395  <p>
396    The string data block, given by <CODE>stringOffset</CODE> in the package information header, stores string data having the byte size given by <CODE>stringSize</CODE>.<BR> This includes strings such as the label name, symbol name, and file name. Each string is delimited by '\0'.<BR>
397  </p>
398
399
400  <h2><a name="exe_image_info">Executable Image Information</a></h2>
401  <p>
402    Executable image information includes information set for each linked object file.<BR> Executable image information is created for each main object that is linked.<BR> The executable image file is located at the position given by the byte offset from the start of the file stored in <CODE>exeOffsetTop</CODE> in the binary file header. If there is more than one instance of executable image information, a byte offset is stored every four bytes immediately after <CODE>exeOffsetTop</CODE>.<BR> <br> Executable image information consists of the following.<br> <br>
403    <table>
404      <tr>
405        <th>Blocks</th>
406        <th>Structures</th>
407        <th>Start position offset (in bytes)</th>
408        <th>Number of blocks</th>
409        <th>Size per block (in bytes)</th>
410      </tr>
411      <tr>
412        <th><a href="#exe_image_header">Executable Image Information Header</a></th>
413        <td>EXEIMAGEHEADER</td>
414        <td>0</td>
415        <td>1</td>
416        <td>64</td>
417      </tr>
418      <tr>
419        <th><a href="#setup_info">Setup Information</a></th>
420        <td>SETUPINFO</td>
421        <td>EXEIMAGEHEADER.setupOffset</td>
422        <td>EXEIMAGEHEADER.setupCount</td>
423        <td>20</td>
424      </tr>
425      <tr>
426        <th><a href="#label_info">Label Information</a></th>
427        <td>LABELINFO</td>
428        <td>EXEIMAGEHEADER.labelOffset</td>
429        <td>EXEIMAGEHEADER.labelCount</td>
430        <td>16</td>
431      </tr>
432      <tr>
433        <th><a href="#outmap_info">Outmap Information</a></th>
434        <td>OUTMAPINFO</td>
435        <td>EXEIMAGEHEADER.outmapOffset</td>
436        <td>EXEIMAGEHEADER.outmapCount</td>
437        <td>8</td>
438      </tr>
439      <tr>
440        <th><a href="#bindsymbol_info">Bind Symbol Information</a></th>
441        <td>BINDSYMBOLINFO</td>
442        <td>EXEIMAGEHEADER.bsymOffset</td>
443        <td>EXEIMAGEHEADER.bsymCount</td>
444        <td>8</td>
445      </tr>
446      <tr>
447        <th><a href="#string_info">String Data</a></th>
448        <td>----</td>
449        <td>EXEIMAGEHEADER.stringOffset</td>
450        <td>1</td>
451        <td>EXEIMAGEHEADER.stringSize</td>
452      </tr>
453    </table>
454    <br> <br>
455  </p>
456
457  <h3><a name="exe_image_header">Executable Image Information Header</a></h3>
458  <p>
459    A header is located in each instance of executable image information.<BR> <br> The executable image information header consists of the following.<br> <br>
460<pre><p class="code">typedef struct tagEXEIMAGEHEADER {
461  char signature[4];
462  char     version[2];
463  unsigned char  shaderType;
464  unsigned char  mergeOutputMapsDebug;
465  unsigned int   mainAddr;
466  unsigned int   endAddr;
467  unsigned short inputMask;
468  unsigned short outputMask;
469  unsigned char  geometryDataMode;
470  unsigned char  startIndex;
471  unsigned char  subdPatchSize;
472  unsigned char  constVertexNumber;
473  unsigned int   setupOffset;
474  unsigned int   setupCount;
475  unsigned int   labelOffset;
476  unsigned int   labelCount;
477  unsigned int   outmapOffset;
478  unsigned int   outmapCount;
479  unsigned int   bsymOffset;
480  unsigned int   bsymCount;
481  unsigned int stringOffset;
482  unsigned int stringSize;
483} EXEIMAGEHEADER</p></pre>
484    <table>
485      <tr>
486        <th width="20%">Name</th>
487        <th>Description</th>
488      </tr>
489      <tr>
490        <td>signature</td>
491        <td>Stores the string &quot;DVLE&quot;.</td>
492      </tr>
493      <tr>
494        <td>version</td>
495        <td>Stores the assembler tool version. The first byte represents the major version number and the second byte represents the minor version number.</td>
496      </tr>
497      <tr>
498        <td>shaderType</td>
499        <td>Set to <CODE>0</CODE> if the executable image is a vertex shader assembler, or <CODE>1</CODE> if it is a geometry shader assembler.</td>
500      </tr>
501      <tr>
502        <td>mergeOutputMapsDebug</td>
503        <td>Bit <CODE>0</CODE> is used for internal settings of the geometry shader.<BR>Bit <CODE>1</CODE> indicates a debug build if set to <CODE>1</CODE>, or other than a debug build if set to <CODE>0</CODE>.</td>
504      </tr>
505      <tr>
506        <td>mainAddr</td>
507        <td>The program address set for the main label.</td>
508      </tr>
509      <tr>
510        <td>endAddr</td>
511        <td>The program address set for the <CODE>endmain</CODE> label.</td>
512      </tr>
513      <tr>
514        <td>inputMask</td>
515        <td>Information on input registers being used. <CODE>1</CODE> is set for input registers defined using <CODE>#pragma bind_symbol</CODE>.</td>
516      </tr>
517      <tr>
518        <td>outputMask</td>
519        <td>Information on output registers being used. <CODE>1</CODE> is set for output registers defined using<CODE> #pragma output_map</CODE>.</td>
520      </tr>
521      <tr>
522        <td>geometryDataMode</td>
523        <td>Internal information about the geometry shaders.</td>
524      </tr>
525      <tr>
526        <td>startIndex</td>
527        <td>Internal information about the geometry shaders.</td>
528      </tr>
529      <tr>
530        <td>subdivPatchSize</td>
531        <td>Internal information about the geometry shaders.</td>
532      </tr>
533      <tr>
534        <td>constVertexNumber</td>
535        <td>Internal information about the geometry shaders.</td>
536      </tr>
537      <tr>
538        <td>setupOffset</td>
539        <td>The offset in bytes from the start of the file to the setup information block.</td>
540      </tr>
541      <tr>
542        <td>setupCount</td>
543        <td>The number of instances of setup information.</td>
544      </tr>
545      <tr>
546        <td>labelOffset</td>
547        <td>The offset in bytes from the start of the file to the label information block.</td>
548      </tr>
549      <tr>
550        <td>labelCount</td>
551        <td>The number of instances of label information.</td>
552      </tr>
553      <tr>
554        <td>outmapOffset</td>
555        <td>The offset in bytes from the start of the file to the outmap information block.</td>
556      </tr>
557      <tr>
558        <td>outmapCount</td>
559        <td>The number of instances of outmap information.</td>
560      </tr>
561      <tr>
562        <td>bsymOffset</td>
563        <td>The offset in bytes from the start of the file to the bind symbol information block.</td>
564      </tr>
565      <tr>
566        <td>bsymCount</td>
567        <td>The number of instances of bind symbol information.</td>
568      </tr>
569      <tr>
570        <td>stringOffset</td>
571        <td>The offset in bytes from the start of the file to the string data block.</td>
572      </tr>
573      <tr>
574        <td>stringSize</td>
575        <td>The number of bytes of string data.</td>
576      </tr>
577    </table>
578  </p>
579
580  <h3><a name="setup_info">Setup Information</a></h3>
581  <p>
582    The setup information block, given by <CODE>setupOffset</CODE> in the executable image information header, stores the number of instances of setup information given by <CODE>setupCount</CODE>.<BR> Setup information is that information set by the shader assembler using the <CODE>def</CODE>, <CODE>defi</CODE>, and <CODE>defb</CODE> instructions.<BR> <br> Setup information consists of the following.<br> <br>
583<pre><p class="code">typedef struct tagSETUPINFO {
584  unsigned short type;
585  unsigned short index;
586  unsigned int   value[4];
587} SETUPINFO</p></pre>
588    <table>
589      <tr>
590        <th width="20%">Name</th>
591        <th>Description</th>
592      </tr>
593      <tr>
594        <td>type</td>
595        <td>0: Boolean register setting information<BR>1: Integer register setting information<BR>2: Floating point constant register setting information</td>
596      </tr>
597      <tr>
598        <td>index</td>
599        <td>The register index.</td>
600      </tr>
601      <tr>
602        <td>value</td>
603        <td>Stores <CODE>1</CODE> if value[0] is <CODE>true</CODE> or <CODE>0</CODE> if <CODE>false</CODE> in the case of a Boolean register.<BR>Stores three values defined by a <CODE>defi</CODE> instruction in Bit[7:0], Bit[15:8], and Bit[23:16], respectively, of value[0] in the case of an integer register.<BR>Converts four values defined using a <CODE>def</CODE> instruction to 24-bit floating point numbers and stores them in value[0] through value[3] in the case of a floating point constant register.<BR></td>
604      </tr>
605    </table>
606  </p>
607
608  <h3><a name="label_info">Label Information</a></h3>
609  <p>
610    The label information block, given by <CODE>labelOffset</CODE> in the executable image information header, stores the number of instances of label information given by <CODE>labelCount</CODE>.<BR> Label information represents information about labels used in the shader assembler.<BR> <br> Label information consists of the following.<br> <br>
611<pre><p class="code">typedef struct tagLABELINFO {
612  unsigned int index;
613  unsigned int address;
614  unsigned int length;
615  unsigned int stringIndex;
616} LABELINFO</p></pre>
617    <table>
618      <tr>
619        <th width="20%">Name</th>
620        <th>Description</th>
621      </tr>
622      <tr>
623        <td>index</td>
624        <td>The label information index. Indices are assigned in order labels are defined in the shader assembler starting from <CODE>0x00010000</CODE>.</td>
625      </tr>
626      <tr>
627        <td>address</td>
628        <td>The address of the shader program where the label is used.</td>
629      </tr>
630      <tr>
631        <td>length</td>
632        <td>The length in bytes from the address the label is used to the associated <CODE>ret</CODE> instruction. This is the subroutine length.</td>
633      </tr>
634      <tr>
635        <td>stringIndex</td>
636        <td>The byte index inside the string data block storing the label name.</td>
637      </tr>
638    </table>
639  </p>
640
641  <h3><a name="outmap_info">Outmap Information</a></h3>
642  <p>
643    The output information block, given by <CODE>outmapOffset</CODE> in the executable image information header, stores the number of instances of output information given by <CODE>outmapCount</CODE>.<BR> <CODE>Outmap</CODE> information represents information about <CODE>#pragma output_map</CODE> instructions defined in the shader assembler. <br> <CODE>Outmap</CODE> information consists of the following.<br> <br>
644<pre><p class="code">typedef struct tagOUTMAPINFO {
645  unsigned short type;
646  unsigned short index;
647  unsigned short mask;
648  unsigned short reserve;
649} OUTMAPINFO</p></pre>
650    <table>
651      <tr>
652        <th width="20%">Name</th>
653        <th>Description</th>
654      </tr>
655      <tr>
656        <td>type</td>
657        <td>Stores the attribute type.<BR><BR>0: position<br>1: quaternion<br>2: color<br>3: texcoord0<br>4: texcoord0w<br>5: texcoord1<br>6: texcoord2<br>8: view<br>9: generic<br></td>
658      </tr>
659      <tr>
660        <td>index</td>
661        <td>The output register index.</td>
662      </tr>
663      <tr>
664        <td>mask</td>
665        <td>The specified components. Represents <CODE>x</CODE>, <CODE>y</CODE>, <CODE>z</CODE> and <CODE>w</CODE> beginning from the low-order bit.</td>
666      </tr>
667      <tr>
668        <td>reserve</td>
669        <td>The reserved region.</td>
670      </tr>
671    </table>
672  </p>
673
674  <h3><a name="bindsymbol_info">Bind Symbol Information</a></h3>
675  <p>
676    The bind symbol information block, given by <CODE>bsymOffset</CODE> in the executable image information header, stores the number of instances of bind symbol information given by <CODE>bsymCount</CODE>.<BR> Bind symbol information represents information about <CODE>#pragma bind_symbol</CODE> instructions defined in the shader assembler. <br> Bind symbol information consists of the following.<br> <br>
677<pre><p class="code">typedef struct tagBINDSYMBOLINFO {
678  unsigned int stringIndex;
679  unsigned short startIndex;
680  unsigned short endIndex;
681} BINDSYMBOLINFO</p></pre>
682    <table>
683      <tr>
684        <th width="20%">Name</th>
685        <th>Description</th>
686      </tr>
687      <tr>
688        <td>stringIndex</td>
689        <td>The byte index inside the string data block storing the symbol name.</td>
690      </tr>
691      <tr>
692        <td>startIndex</td>
693<td>The start register index.<BR><BR>0 -15: Input registers 0 to 15<BR>16 - 111: Floating point constant registers 0 to 95<BR>112 - 115: Integer registers 0 to 3<BR>120 - 135: Boolean registers 0 to 15<br></td>
694      </tr>
695      <tr>
696        <td>endIndex</td>
697        <td>The end register index. Values are the same as for <CODE>startIndex</CODE>.</td>
698      </tr>
699    </table>
700  </p>
701
702  <h3><a name="string_info">String Data</a></h3>
703  <p>
704    The string data block, given by <CODE>stringOffset</CODE> in the executable image information header, stores string data having the byte size given by <CODE>stringSize</CODE>.<BR> This includes strings such as the label name, symbol name, and file name. Each string is delimited by '\0'.<BR>
705  </p>
706
707
708  <h2>Revision History</h2>
709    <dl class="history">
710      <dt>2011/12/20</dt>
711      <dd>Initial version.<br />
712      </dd>
713    </dl>
714
715<hr><p>CONFIDENTIAL</p></body>
716</html>