HD64F38024DV Renesas Electronics America, HD64F38024DV Datasheet

IC H8/SLP MCU FLASH 80QFP

HD64F38024DV

Manufacturer Part Number
HD64F38024DV
Description
IC H8/SLP MCU FLASH 80QFP
Manufacturer
Renesas Electronics America
Series
H8® H8/300L SLPr
Datasheets

Specifications of HD64F38024DV

Core Processor
H8/300L
Core Size
8-Bit
Speed
10MHz
Connectivity
SCI
Peripherals
LCD, PWM, WDT
Number Of I /o
51
Program Memory Size
32KB (32K x 8)
Program Memory Type
FLASH
Ram Size
1K x 8
Voltage - Supply (vcc/vdd)
1.8 V ~ 5.5 V
Data Converters
A/D 8x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
80-QFP
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Eeprom Size
-

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
HD64F38024DV
Manufacturer:
Renesas Electronics America
Quantity:
10 000
To our customers,
Corporation, and Renesas Electronics Corporation took over all the business of both
companies. Therefore, although the old company name remains in this document, it is a valid
Renesas Electronics document. We appreciate your understanding.
Issued by: Renesas Electronics Corporation (http://www.renesas.com)
Send any inquiries to http://www.renesas.com/inquiry.
On April 1
st
, 2010, NEC Electronics Corporation merged with Renesas Technology
Renesas Electronics website:
Old Company Name in Catalogs and Other Documents
http://www.renesas.com
April 1
Renesas Electronics Corporation
st
, 2010

Related parts for HD64F38024DV

HD64F38024DV Summary of contents

Page 1

To our customers, Old Company Name in Catalogs and Other Documents st On April 1 , 2010, NEC Electronics Corporation merged with Renesas Technology Corporation, and Renesas Electronics Corporation took over all the business of both companies. Therefore, although the ...

Page 2

All information included in this document is current as of the date this document is issued. Such information, however, is subject to change without any prior notice. Before purchasing or using any Renesas Electronics products listed herein, please confirm ...

Page 3

H8S, H8/300 Series C/C++ Compiler, Assembler, Optimizing Linkage Editor Compiler Package Ver.6.01 User’s Manual Renesas Microcomputer Development Environment System Rev.1.00 2005.01 ...

Page 4

...

Page 5

Keep safety first in your circuit designs! 1. Renesas Technology Corp. puts the maximum effort into making semiconductor products better and more reliable, but there is always the possibility that trouble may occur with them. Trouble with semiconductors may lead ...

Page 6

...

Page 7

This manual describes the facilities and operating procedures for the H8S, H8/300 series C/C++ compiler (hereinafter H8S, H8/300 compiler or simply the compiler). The compiler translates source programs written in C/C++ into object programs and load modules for Renesas H8SX ...

Page 8

Section 1 Overview .........................................................................................1 1.1 Procedures for Developing Programs ............................................................................... 1 1.2 Compiler ........................................................................................................................... 3 1.3 Assembler ......................................................................................................................... 3 1.4 Optimizing Linkage Editor ............................................................................................... 4 1.5 Prelinker............................................................................................................................ 4 1.6 Standard Library Generator .............................................................................................. 4 1.7 Stack Analysis Tool .......................................................................................................... 5 ...

Page 9

List Options..........................................................................................................117 4.2.4 Optimize Options .................................................................................................119 4.2.5 Section Options....................................................................................................125 4.2.6 Verify Options .....................................................................................................127 4.2.7 Other Options.......................................................................................................129 4.2.8 Subcommand File Option ....................................................................................137 4.2.9 CPU Option..........................................................................................................138 4.2.10 Options Other Than Above ..................................................................................139 Section 5 Standard Library Generator Operating Method.............................. 141 5.1 ...

Page 10

Symbol Information ............................................................................................. 174 8.4.6 Symbol Deletion Optimization Information ........................................................ 176 8.4.7 Variable Access Optimization Symbol Information ............................................ 176 8.4.8 Function Access Optimization Symbol Information............................................ 178 8.4.9 Cross-Reference Information............................................................................... 179 8.5 Library Listings................................................................................................................. 180 8.5.1 Structure of Library Listing ...

Page 11

Embedded C++ Class Libraries ...........................................................................533 10.3.3 Reentrant Library .................................................................................................620 10.3.4 Unsupported Libraries..........................................................................................625 Section 11 Assembly Specifications................................................................. 627 11.1 Program Elements .............................................................................................................627 11.1.1 Source Statements................................................................................................627 11.1.2 Reserved Words ...................................................................................................631 11.1.3 Symbols ...............................................................................................................631 11.1.4 Constants..............................................................................................................635 11.1.5 Location Counter .................................................................................................637 11.1.6 Expressions ...

Page 12

List of Messages ............................................................................................................... 903 Section 15 Error Messages for the Standard Library Generator and Format Converter 917 15.1 Error Format and Error Levels.......................................................................................... 917 15.2 List of Messages ............................................................................................................... 917 Section 16 Limitations.......................................................................................921 16.1 Limitations of the Compiler.............................................................................................. ...

Page 13

Index ......................................................................................................... 967 vii ...

Page 14

viii ...

Page 15

Section 1 Overview 1.1 Procedures for Developing Programs Figure 1.1 shows the procedures for developing programs. The shaded parts show software provided in the Renesas C/C++ Compiler Package for H8, H8S and H8SX family. The C/C++ compiler, assembler, optimizing linkage ...

Page 16

Standard include file User Assembly assembly source program program H8S,H8/300 series assembler SYSROF object/ object/ library library ELF/DWARF format converter ELF/DWARF1 SYSROF load load module module Note: : Input/output : : Initiation *1 Assitional information files includes: -Template information files ...

Page 17

Outlines of the C/C++ compiler, assembler, optimizing linkage editor, prelinker, standard library generator, stack analysis tool, and format converter are given in the following sections. 1.2 Compiler The H8S, H8/300 series C/C++ compiler (hereinafter referred to as compiler) is software ...

Page 18

Optimizing Linkage Editor The optimizing linkage editor is software that takes multiple object programs output by the compiler or assembler and produces a load module or a library file. Features of this optimizing linkage editor are as follows: 1. ...

Page 19

Stack Analysis Tool The stack analysis tool is software that takes the stack information file that is output by the optimizing linkage editor and calculates the size of the stack that will be used by C/C++ programs. 1.8 Format ...

Page 20

6 ...

Page 21

Section 2 C/C++ Compiler Operating Method 2.1 Command Line Format The format of the command line to initiate the compiler is as follows: ch38[ <option>...][ <file name>[ <option>...] ...] <option>:-<option>[=<suboption>][,...] 2.2 Interpretation of Options In the command line format, uppercase ...

Page 22

Source Options Table 2.1 Source Options Item Command Line Format Include file Include = <path name>[,…] C/C++ <Source> directory Default include PREInclude = file <file name>[,...] Macro name DEFine = <sub>[,...] definition <sub>: <macro name> [=<string literal>] Information Message ...

Page 23

Include: Include File Directory C/C++ <Source>[Show entries for :][Include file directories] Command Line Format Include = <path name>[,…] Description Specifies the name of the path where the include file is stored. Two or more path names can be specified by ...

Page 24

DEFine: Macro Name Definition C/C++ <Source>[Show entries for :][Defines] Command Line Format DEFine = <sub> [,…] <sub>: <macro name> [= <string literal>] Description This option is the same as #define written in the C/C++ source file. When <macro name>=<string literal> ...

Page 25

FILE_INLINE_PATH: Inter-file Inline Expansion Directory Specification C/C++ <Source>[Show entries for :][File inline path] Command Line Format FILE_INLINE_PATH = <path name> [,…] Description Specifies the name of the path where a file for inter-file inline expansion is stored. Two or more ...

Page 26

Object Options Table 2.2 Object Options Item Command Line Format Dialog Menu Pre- PREProcessor processor [= <file name>] expansion Object type Code = { Machinecode | Asmcode } Debugging DEBug information NODEBug Section SEction = <sub>[,…] name <sub>:{ Program=<section ...

Page 27

Table 2.2 Object Options (cont) Item Command Line Format Dialog Menu Template Template={ None instance generation | Static | Used | ALl | AUto } Boundary ALign [=4] alignment value and NOALign disable of boundary alignment Compatibili- LEgacy= ...

Page 28

Remarks When preprocessor is specified, the following options become invalid: code, object, outcode, debug, pack, string, show=object, statistics, allocation, section, optimize, speed, goptimize, byteenum, volatile, regexpansion, cmncode, case, indirect, abs8, abs16, cpuexpand, eepmov, regparam, stack, align/noalign, structreg, longreg, macsave, bit_order, ...

Page 29

SEction: Section Name C/C++ <Object>[Section :] [Program section (P)] [Const section (C)] [Data section (D)] [Uninitialized data section (B)] Command Line Format SEction = <sub> [,…] <sub>: { Program=<section name> | Const=<section name> | Data=<section name> | Bss=<section name> } ...

Page 30

The string literal output to the initialized data area can be modified during program execution; however, the initialized data area must be allocated in both ROM and RAM in order to transfer the string literal to RAM from ROM at ...

Page 31

Table 2.3 cpuexpand Option Specifications Operation cpuexpand Is Specified unsigned short The intermediate result is held us1,us2; as unsigned long.* unsigned long ul; Output example: ul=us1*us2; MOV.W MOV.W MULXU.W Rs,ERd MOV.L 4-byte result of us1*us2 is assigned to ul. unsigned ...

Page 32

OBject, NOOBject: Object File Output C/C++ <Object>[Output directory :] Command Line Format OBject [= <object file name>] NOOBject Description Specifies whether or not to output an object file. When noobject is specified, no object file is output. If <object file ...

Page 33

When this option is not specified, the compiler assumes that template=auto is specified. Remarks When a code = asmcode is specified, template=static is always valid. ALign, NOALign: Boundary Alignment Value and Disable of Boundary Alignment C/C++ <Object>[Group by alignment :] ...

Page 34

Example noalign specified 2 bytes a Empty area Empty area <Section B> Size: 10 bytes Boundary alignment: 2 align specified (default setting) 2 bytes <Section ...

Page 35

LEgacy=v4: Code generation of Ver.4.0 Optimization technology None Command Line Format LEgacy=v4 Description If this option is specified along with 2600A, 2600N, 2000A, or 2000N as the CPU option, basic optimization processing is the same as in version 4 and ...

Page 36

List Options Table 2.4 List Options Item Command Line Format Listing file List [= <file name>] NOList Listing SHow = <sub> [,…] contents <sub>: { and format SOurce | NOSOurce | Object | NOObject | STatistics | NOSTatistics | ...

Page 37

SHow: List Contents and Format C/C++ <List> [Contents :] Command Line Format SHow= <sub> : Description Specifies the contents and format of the list output by the compiler, and the cancellation of list output. For examples of each list in ...

Page 38

Description Table 2.5 shows a list of suboptions. Table 2.5 List of Suboptions of show Option Suboption Description source Outputs a list of source programs nosource Does not output list of source programs object Outputs a list of object programs ...

Page 39

Optimize Options Table 2.6 Optimize Options Command Line Item Format Optimization OPtimize = { Inter-module Goptimize optimization information Optimization SPeed [=<sub>[,…] ] for speed <sub>: { Register | SHift | Loop [= { 1 | ...

Page 40

Table 2.6 Optimize Options (cont) Item Command Line Format Dialog Menu Pointer size PTr16 Short ABS8 absolute addressing ABS16 mode External Volatile variable NOVolatile optimization External OPT_Range = { All variable optimization | NOLoop range | NOBlock } Vacant loop ...

Page 41

Table 2.6 Optimize Options (cont) Item Command Line Format Dialog Menu External GLOBAL_Alloc = { 0 variable register allocation Structure/ STRUCT_Alloc = { 0 union member register allocation const variable CONST_Var_propagate = constant propagation Inline LIBrary = { Function expansion ...

Page 42

Remarks When optimize=0 is specified, speed=inline or loop is invalid. Goptimize: Inter-Module Optimization Information C/C++ <Optimize>[Generate file for inter-module optimization] Command Line Format Goptimize Description Outputs the supplement information for the inter-module optimization. For the file specified with this option, ...

Page 43

The speed=inline=<numeric value> modifies the maximum size of the target function for inline expansion. If CPU is H8SX or H8S(without legacy=v4 option), <numeric value> means the percentage of increase in program size allowed by inline expansion. For example, with speed=inline=50, ...

Page 44

When case=ifthen is specified, switch statement codes are created using the if_then method, which repeats, for all case labels, comparing the evaluated value of the expression in the switch statement with the case label value and jumps to the statement ...

Page 45

Table 2.7 Comparison of switch Statement Expansion by Expression Value Value of a Object File Size 1 22 bytes 3 INDirect: Memory Indirect Addressing Mode C/C++ <Optimize>[Function call :] Command Line Format INDirect = { Normal | Extended } Description ...

Page 46

PTr16: Pointer Size Specification C/C++ <Optimize>[2byte pointer] Command Line Format PTr16 Description Sets the size of the pointer indicating data to two bytes. Remarks If this option is not specified, the size of the pointer indicating data is four bytes. ...

Page 47

The variables to be accessed in short absolute addressing mode can also be specified by #pragma abs8 and #pragma abs16, and keywords of _ _abs8 and _ _abs16. If both an option and #pragma/keyword are specified, the #pragma/keyword specification is ...

Page 48

When volatile is specified mov.w @_a,R0 mov.w @_b,R0 rts When novolatile is specified mov.w @_a,R0 rts OPT_Range: External Variable Optimization Range Specification C/C++ <Optimize> [Details...][Global variables][Specify optimizing range :] Command Line Format OPT_Range = { All | NOLoop | NOBlock ...

Page 49

A,B,C; void f(int ( Reference eliminated and propagated */ (2) Optimization ...

Page 50

DEL_vacant_loop: Vacant Loop Elimination C/C++ <Optimize>[Details...][Miscellaneous][Delete vacant loop] Command Line Format DEL_vacant_loop = { Description When del_vacant_loop=0 is specified, even when there is no statements inside the loop, a loop is not eliminated. When del_vacant_loop=1 is ...

Page 51

INFinite_loop: Elimination of Expression Preceding Infinite Loop C/C++ <Optimize>[Details...][Global variables][Delete assignment to global variables before an infinite loop] Command Line Format INFinite_loop = { Description When infinite_loop=0 is specified, an assignment expression for external variables that ...

Page 52

GLOBAL_Alloc: External Variable Register Allocation C/C++ <Optimize>[Details...][Global variables][Allocate registers to global variables] Command Line Format GLOBAL_Alloc = { Description When global_alloc=0 is specified, allocation of external variables to registers is disabled. When global_alloc=1 is specified, external ...

Page 53

CONST_Var_propagate: const Constant Propagation C/C++ <Optimize>[Details...][Global variables][Propagate variables which are const qualified] Command Line Format CONST_Var_propagate = { Description When const_var_propagate=0 is specified, constant propagation for external variables declared by const is disabled. When const_var_propagate=1 is ...

Page 54

SCOpe, NOSCope: Division of Optimizing Ranges None Command Line Format SCOpe NOSCope Description When the scope option is specified, the compiler divides the optimizing ranges of the large- size functions into some blocks. When the noscope option is specified, the ...

Page 55

Other Options Table 2.8 Other Options Command Line Item Format Comment COMment nesting Embedded ECpp C++ language MAC register MAcsave Disable of loop VOLATILE_Loop iteration condition optimization Enumeration Byteenum data size Increase of Regexpansion registers for NORegexpansion register variables ...

Page 56

Table 2.8 Other Options (cont) Command Line Item Format Block transfer EEpmov instruction Restriction for NOLINe output at prepro- cessor expansion Message level CHAnge_message =<sub>[,...] <sub>:<level> [=<n>[-m],...] <level>:{Information | Warning | Error } Preferential ENAble_register allocation of register storage class ...

Page 57

COMment: Comment Nesting C/C++ <Other>[Miscellaneous options :] [Allow comment nest] Command Line Format COMment Description Enables nested comments to be written. When this option is omitted, if nested comments are written, an error will occur. Example /* This is an ...

Page 58

ECpp: Embedded C++ Language C/C++ <Other>[Miscellaneous options :] [Check against EC++ language specification] Command Line Format ECpp Description Checks the syntax of the C++ source program according to the Embedded C++ language specifications. The Embedded C++ language specifications do not ...

Page 59

VOLATILE_Loop: Disabling Optimization against Loop Iteration Condition C/C++ <Other>[Miscellaneous options :][Treats loop condition as volatile qualified] Command Line Format VOLATILE_Loop Description Disables optimization of the loop iteration condition if it includes an external variable. Note however that if type conversion ...

Page 60

Example Source program enum EM {a,b,c} E; void main(void){E=b;} When byteenum is specified mov.b #1,R0L mov.b R0L,@_E rts _E: .res.b 1 When byteenum is not specified mov.w #1,R0 mov.w R0,@_E rts _E: .res.w 1 Regexpansion, NORegexpansion: Increasing Number of Registers ...

Page 61

CMncode: Common Expression Optimization C/C++ <Other>[Miscellaneous options :] [Put common subexpression on a register temporarily] Command Line Format CMncode Description Increases the number of target expressions for the optimization that converts a common subexpression into a temporary variable. In general, ...

Page 62

NOLINe: Restriction for Output at Preprocessor Expansion C/C++ <Other>[Miscellaneous options :] [Suppress #line in preprocessed source file] Command Line Format NOLINe Description When this option is specified, disables #line output at preprocessor expansion. Remarks This option is valid only when ...

Page 63

Remarks Output of the messages which were changed to the information-level can be suppressed by the nomessage option. An error number which is not defined is ignored. When this option is specified more than once, all the specifications are valid. ...

Page 64

CPU Options Table 2.9 CPU Options Item Command Line Format Dialog Menu CPU/operating CPu = mode { AE5 | H8SXN [:<*2>] | H8SXM[:<*1>][:<*2>] | H8SXA[:<*1>][:<*2>] | H8SXX[:<*1>][:<*2>] | 2600N | 2600A[:<*1>] | 2000N | 2000A[:<*1>] | 300HN-20 | 300HA ...

Page 65

Table 2.9 CPU Options (cont) Item Command Line Format Dialog Menu Runtime type RTti = { ON information | OFf } Exception EXception processing NOEXception Boundary PAck = { 1 alignment structure, union, and class members ...

Page 66

CPu: CPU/Operating Mode CPU [CPU:][Multiple/Divide :] Command Line Format CPu = {AE5 H8SXN [: <multiplier and divider specification>] | H8SXM [: <address space bit width> ][: <multiplier and divider specification>] | H8SXA [: <address space bit width> ][: <multiplier and ...

Page 67

Table 2.10 Suboptions for cpu Option Suboption Description AE5 Object for AE5 H8SXN H8SX normal mode H8SXM H8SX middle mode H8SXA H8SX advanced mode H8SXX H8SX maximum mode 2600n H8S/2600 normal mode 2600a H8S/2600 advanced mode 2000n H8S/2000 normal mode ...

Page 68

Description Specifies the number of registers for storing parameters. If regparam=2 is specified, parameters are passed in two registers: ER0 and ER1 (R0 and R1 for the H8/300). If regparam=3 is specified, parameters are passed in three registers: ER0, ER1, ...

Page 69

Remarks If the CPU is H8/300 and the longreg is specified bytes of data can be allocated to a register as a parameter and a return value. LONgreg, NOLONgreg: Register Allocation of 4-Byte Parameters CPU [Pass 4-byte ...

Page 70

STAck: Stack Size Specification CPU [Stack calculation :] Command Line Format STAck = { Small | Medium | Large } Description Specifies the stack size. When stack=small is specified, stack addresses are calculated only in the least significant 1 byte ...

Page 71

RTti: Runtime Type Information CPU [Enable/disable runtime information] Command Line Format RTti = { ON | OFf } Description Enables or disables runtime type information. When rtti=on is specified, dynamic_cast and typeid are enabled. When rtti=off is specified, dynamic_cast and ...

Page 72

PAck: Boundary Alignment of Structure, Union, and Class Members CPU [Pack struct, union and class] Command Line Format PAck = { Description Specifies the boundary alignment of structure, union, and class members. Boundary alignment of structure members ...

Page 73

Example: (cpu=2600a and pack=1) struct S { char x; int int *p=&s.y; // the address of s.y can be an odd number void test() { s.y=1; // accessed correctly *p =1; // can be accessed incorrectly } ...

Page 74

BIt_order: Bit Field Order Specification CPU [Bit field alloc-order] Command Line Format BIt_order = { Left | Right } Description Specifies the order of bit field members. When bit_order=left is specified, members are allocated from the most significant bit. When ...

Page 75

LANg: Selecting C or C++ Language None (Always determined by an extension) Command Line Format LANg = { C | CPp } Description Specifies the language of the source program. If lang=c is specified, the compiler will compile the program ...

Page 76

Example ch38 test.c ch38 test.cpp ch38 -lang=cpp test.c Compiled as a C++ source program. ch38 test Remarks If lang=c is specified, ecpp is invalid. LOGO, NOLOGO: Disable of Copyright Output None (nologo is always available) Command Line Format LOGO NOLOGO ...

Page 77

Table 2.13 Relationship between Host Computer and Character Code in String Literal Host Computer euc PC euc SPARC euc HP9000/700 euc Remarks If latin1 is specified, outcode will be invalid. OUtcode: Japanese Code Conversion in Object Code None Command Line ...

Page 78

64 ...

Page 79

Section 3 Assembler Options 3.1 Command Line Format The format of the command line to initiate the assembler is as follows: asm38 [ <option> …] [ <file name> [,…*]] [ <option> …] <option>: -<option> [=<suboption> [,…]] Note*: When the user ...

Page 80

Source Options Table 3.1 Source Options Item Command Line Format Include file Include = <path name>[,…] Assembly <Source> directory Replacement DEFine = <sub>[, …] symbol <sub>: definition <replacement symbol> = <string literal> Integer ASsignA = <sub>[, …] preprocessor <sub>: ...

Page 81

Include Assembly <Source> [Show entries for :] [Include file directories] Command Line Format Include = <path name> [,…] Description The include option specifies the include file directory. The directory name depends on the naming rule of the host machine used. ...

Page 82

DEFine Assembly <Source> [Show entries for :] [Defines] Command Line Format DEFine = <sub> [,...] <sub>: <replacement symbol> = <string literal> Description The define option defines the specified symbol as the corresponding string literal to be replaced by the preprocessor. ...

Page 83

ASsignA Assembly <Source> [Show entries for :][Preprocessor variables] Command Line Format ASsignA = <sub>[,...] <sub>: <preprocessor variable> = <integer constant> Description The assigna option sets an integer constant to a preprocessor variable. The naming rule of preprocessor variables is the ...

Page 84

ASsignC Assembly <Source> [Show entries for :][Preprocessor variables] Command Line Format ASsignC = <sub> <sub>: <preprocessor variable> = <string literal> Description The assignc option sets a string literal to a preprocessor variable. The naming rule of preprocessor variables is the ...

Page 85

Object Options Table 3.2 Object Options Item Command Line Format Dialog Menu Debugging Debug information NODebug Pre-processor EXPand expansion [ = <output file name>] result Optimization OPtimize NOOPtimize Displacement BR relative = <sub> size setting <sub> ...

Page 86

Debug, NODebug Assembly <Object> [Debug information :] Command Line Format Debug NODebug Description The debug option specifies output of debugging information. The nodebug option specifies no output of debugging information. The debug and nodebug options are only valid in cases ...

Page 87

EXPand Assembly <Object> [Generate assembly source file after preprocess] Command Line Format EXPand [= <output file name>] Description The expand option outputs an assembler source file for which macro expansion, conditional assembly, structured assembly, and file inclusion have been performed. ...

Page 88

OPtimize, NOOPtimize Assembly <Object> [Optimize] Command Line Format OPtimize NOOPtimize Description The optimize option specifies whether or not to optimize the PC relative format, displacement size of register-indirect with displacement, and address size of the absolute addressing format. Regarding the ...

Page 89

When optimization is specified in the H8S/2600 advanced mode: Type of Displacement Absolute value (-128 to 127) (-32768 to –129) (128 to 32767) Relative value External reference value Example asm38 aaa.mar -optimize The object module is optimized. asm38 aaa.mar The ...

Page 90

BR_relative Assembly <Object> [Default of branch displacement size :] Command Line Format BR_relative = {8 | 16} Description The br_relative option specifies a default size for the displacements of the instructions that reference the symbol which is defined in advance. ...

Page 91

GOptimize Assembly <Object> [Generate file for inter-module optimization] Command Line Format GOptimize Description The goptimize option specifies outputs of additional information for the inter-module optimization. Inter-module optimization is performed when the files for which this option is specified are linked. ...

Page 92

List Options Table 3.3 List Options Item Command Line Format Assemble LISt [ = <output file name>] listing NOLISt output [ = <output file name>] control Source SOurce program NOSOurce listing output control Part of SHow [= <item>[, …]] ...

Page 93

LISt, NOLISt Assembly <List> [Generate list file] Command Line Format LISt [= <output file name>] NOLISt [= <output file name>] Description The list option outputs an assemble listing. The nolist option does not output an assemble listing. If the nolist ...

Page 94

SOurce, NOSOurce Assembly <List> [Source program :] Command Line Format SOurce NOSOurce Description The source option outputs a source program listing to the assemble listing. The nosource option does not output a source program listing to the assemble listing. The ...

Page 95

SHow, NOSHow Assembly <List> [Source program list contents :] [Code:] Command Line Format SHow [= <output type>[,...]] NOSHow [= <output type>[,...]] <output type>: {CONditionals | Definitions | CAlls | Expansions | Structured | CODe} Description Outputs or suppresses a part ...

Page 96

Relationship with Assembler Directives The assembler gives priority to specifications made by options. Option Assembler Directive show[=<output type>] (regardless of any specification) noshow[=<output type>] (regardless of any specification) (no specification) .LIST <output type> (output) .LIST <output type> (suppress) (no specification) ...

Page 97

SEction, NOSEction Assembly <List > [Section :] Command Line Format SEction NOSEction Description The section option specifies output of a section information listing to the assemble listing. The nosection option specifies no output of a section information listing to the ...

Page 98

Tuning Options Table 3.4 Tuning Options Command Line Item Format Specification of ABS8 symbols for 8- or ABS16 16-bit absolute address format ABS8, ABS16 Assembly <Tuning> [Option to set :] Command Line Format ABS8 [ = <symbol> [,...] ] ...

Page 99

Priority Access Size Format High 1 Size specified for the absolute address format 2 Access size set by .IMPORT, .EXPORT, or .GLOBAL directives .ABS8 and .NOABS8 directives Low 3 abs8 or abs16 settings Example: asm38 aaa.mar –abs8=sym1 –abs16 When an ...

Page 100

Other Options Table 3.5 Other Options Command Line Item Format Unreferenced Exclude import symbol output control NOExclude Exclude, NOExclude Assembly <Other> [Miscellaneous options :] [Remove unreferenced external symbols] Command Line Format Exclude NOExclude Description The exclude option prevents the ...

Page 101

CPU Options Table 3.6 CPU Options Item Command Line Format CPU type CPU = specification { AE5 H8SXN[:{M|D|MD}] H8SXM[:<bit width>] [:{M|D|MD}] | H8SXA[:<bit width>] [:{M|D|MD}] H8SXX[:<bit width>] [:{M|D|MD}] 2600N 2600A [:<bit width>] 2000N 2000A [:<bit width>] 300HN 300HA [:<bit ...

Page 102

CPu CPU [CPU :] Command Line Format CPu = {AE5 H8SXN [ :{M|D|MD}] H8SXM [ :<bit width of the address space>] [ :{M|D|MD}] | H8SXA [ :<bit width of the address space>] [ :{M|D|MD}] | H8SXX [ :<bit width of ...

Page 103

Table 3.7 Suboptions for cpu Option Suboption AE5 H8SXN [:{M|D|MD}] H8SXM [:<bit width of the address space>] [:{M|D|MD}] H8SXA [:<bit width of the address space>] [:{M|D|MD}] H8SXX[:<bit width of the address space>] [:{M|D|MD}] 2600N 2600A[:<bit width of the address space>] ...

Page 104

Specify whether or not a multiplier and a divider exist as follows: Multiplier/Divider Without multiplier and without divider With multiplier and without divider Without multiplier and with divider With multiplier and with divider Use MAC, LDMAC, STMAC, CLRMAC, MULU/U, or ...

Page 105

SBR CPU [Specify SBR address :] Command Line Format SBR = {<constant> | USER} Description When SBR=<constant> is specified, the 256-byte area whose origin is <constant> as the access area of the 8-bit absolute addressing format. As for the constant, ...

Page 106

Relationship with Assembler Directives Option Assembler Directive sbr=<constant> .SBR <constant> .SBR (no specification) sbr=USER .SBR <constant> .SBR (no specification) (no specification) .SBR <constant> .SBR (no specification) Example: asm38 aaa.mar –sbr=H’ff0000 The 8-bit short absolute address area is in the range ...

Page 107

Options Other Than Above Table 3.8 Options Other Than Above Command Line Item Format Change of error level ABort = {Warning | at which the assembler is abnormally terminated ISO-Latin1 Code LATIN1 Shift JIS code SJIS EUC code EUC ...

Page 108

ABort Assembly <Other> [User defined options :] Command Line Format ABort = {Warning | Error} Description The abort option specifies the error level. When the return value to the OS becomes 1 or larger, the object module is not output. ...

Page 109

SJIS Assembly <Other> [User defined options :] Command Line Format SJIS Description When the sjis option is specified, Japanese characters in strings literal and comments are interpreted as shift JIS code. When the sjis option is omitted, Japanese characters in ...

Page 110

OUtcode Assembly <Other> [User defined options :] Command Line Format OUtcode = {SJIS | EUC} Description The outcode option converts Japanese characters in the source file to the specified Japanese character for output to the object file. The Japanese character ...

Page 111

LINes Assembly <Other> [User defined options :] Command Line Format LINes = <Number of lines> Description The lines option sets the number of lines on a single page of the assemble listing. The range of valid values for the line ...

Page 112

Relationship with Assembler Directives The assembler gives priority to specifications made by options. Option Assembler Directive columns= (regardless of any specification) <number of digits> (no specification) .FORM COL=<number of digits> (no specification) LOGO, NOLOGO None (nologo is always available) Command ...

Page 113

SUBcommand None Command Line Format SUBcommand = <file name> Description The subcommand option inputs command line specifications from a file. Specify input file names and options in the subcommand file in the same order as for normal command line specifications. ...

Page 114

100 ...

Page 115

Section 4 Optimizing Linkage Editor Options 4.1 Option Specifications 4.1.1 Command Line Format The format of the command line is as follows: optlnk[{ <file name>| <option string>}...] <option string>:-<option>[=<suboption>[,...]] 4.1.2 Subcommand File Format The format of the subcommand file is ...

Page 116

Input Options Table 4.1 Input Category Options Item Command Line Format Input file Input = <sub>[{,| }…] <sub>: <file name> [(<module name>[,…])] Library file LIBrary = <file name>[,...] Binary file Binary = <sub> [,...] <sub>: <file name>(<section name> [:<boundary ...

Page 117

Wildcards (* or ?) can also be used for the specification. String literals specified with wildcards are expanded in alphabetical order. Expansion of numerical values precedes that of alphabetical letters. Uppercase letters are expanded before lowercase letters. Specifiable files are ...

Page 118

Binary Link/Library <Input>[Show entries for :][Binary files] Command Line Format Binary = <suboption>[,…] <suboption>: <file name>(<section name>[:<boundary alignment>][,<symbol name>]) <boundary alignment> (default: 1) Description Specifies an input binary file. ...

Page 119

The numerical value is specified in the hexadecimal notation. If the specified value starts with a letter from symbols are searched first, and if no corresponding symbol is found, the value is interpreted as a numerical value. ...

Page 120

NOPRElink Link/Library <Input>[Show entries for :][Prelinker control :] Command Line Format NOPRElink Description Disables the prelinker initiation. The prelinker supports the functions to generate the C++ template instance automatically and to check types at run time. When the C++ template ...

Page 121

Output Options Table 4.2 Output Category Options Item Command Line Format Output format FOrm ={ Absolute | Relocate | Object | Library [= {S|U}] | Hexadecimal | Stype | Binary } Debug DEBug information SDebug NODEBug Record size REcord={ ...

Page 122

Table 4.2 Output Category Options (cont) Item Command Line Format Information Message message NOMessage [= <sub>[,…]] <sub>:<error code> [-<error code>] Notification of MSg_unused unreferenced defined symbol Reduce empty DAta_stuff areas of boundary alignment FOrm Link/Library <Output>[Type of output file :] ...

Page 123

Table 4.3 Suboptions of Form Option Suboption Description absolute Outputs an absolute file relocate Outputs a relocatable file object Outputs an object file. This is specified when a module is extracted as an object file from a library with the ...

Page 124

Table 4.4 Relations Between Output Format And Input File Or Other Options Output Format Specified Option Absolute strip specified other than above Relocate extract specified other than above Object extract specified Relocate Stype Binary Library strip specified extract specified other ...

Page 125

DEBug, SDebug, NODEBug Link/Library <Output>[Debug information :] Command Line Format DEBug SDebug NODEBug Description Specifies whether debug information is output. When debug is specified, debug information is output to the output file. When sdebug is specified, debug information is output ...

Page 126

ROm Link/Library <Output>[Show entries for :][ROM to RAM mapped sections] Command Line Format ROm = <suboption>[,…] <suboption>: <ROM section name>=<RAM section name> Description Reserves ROM and RAM areas in the initialized data area and relocates a defined symbol in the ...

Page 127

Example output=file1.abs=0-ffff,file2.abs=10000-1ffff Outputs the range from 0 to 0xffff to file1.abs and the range from 0x10000 to 0x1ffff to file2.abs. output=file1.abs=sec1:sec2,file2.abs=sec3 Outputs the sec1 and sec2 sections to file1.abs and the sec3 section to file2.abs. MAp Link/Library <Output>[Generate map file] ...

Page 128

A 1-, 2-, or 4-byte value can be specified.The number of hexadecimal digits specified to the space option determines the size of the <numerical value> 3-byte value is specified, the upper digit is extended with 0 to use ...

Page 129

Example nomessage=4,200-203,1300 Messages of L0004, L0200 to L0203, and L1300 are disabled to be output. MSg_unused Link/Library <Output>[Show entries for :] [Output Messages] [Notify unused symbol:] Command Line Format MSg_unused Description Notifies the user of the externally defined symbol which ...

Page 130

When this option is not specified, linkage is based on the boundary alignment of sections after compilation. Specifying this option fills the unnecessary empty areas generated by boundary alignment, reducing the size of the data sections as a whole. Example ...

Page 131

List Options Table 4.5 List Category Options Item Command Line Format List file LISt [ = <file name>] List contents SHow [ = <sub>[,...] ] <sub>: { SYmbol Reference | SEction } | Xreference } LISt Link/Library <List>[Generate list ...

Page 132

Table 4.6 Suboptions of show Option Output Format Suboption Name form=library symbol or extract is reference specified. section xreference Other than symbol form=library and extract is not reference specified. section xreference Remarks When form={object | relocate} is specified, the show=reference ...

Page 133

Optimize Options Table 4.7 Optimize Category Options Item Command Line Format Optimization OPtimize = <sub>[…] <sub>: {STring_unify} | SYmbol_delete | Variable_access | Register | SAMe_code | SHort_format | Function_call | Branch | SPeed | SAFe NOOPtimize Same code SAMESize ...

Page 134

OPtimize, NOOPtimize Link/Library <Optimize>[Show entries for :][Optimize items][Optimize :] Command Line Format OPtimize [= <suboption>[,…] ] NOOPtimize <suboption>: { STring_unify | SYmbol_delete | Variable_access | Register | SAMe_code | SHort_format | Function_call | Branch | SPeed | SAFe } Description ...

Page 135

Table 4.8 Suboptions of Optimize Option (cont) Suboption Description function_call Allocates addresses of frequently accessed functions to the range 0 to 0xFF if there is a space. When the CPU is H8SX, the following ranges are also used: H8SXN: 0x100 ...

Page 136

Description Specifies the minimum code size for the optimization with the same-code unification (optimize=same_code). Specify a hexadecimal value from 8 to 7FFF. When this option is omitted, the default is samesize=1E. Remarks When optimize=same_code is not specified, this option is ...

Page 137

Remarks When the optimize option is not specified, this option is unavailable. CAchesize Link/Library <Optimize>[Cache size :] Command Line Format CAchesize = <suboption> <suboption>: Size = <size> | Align = <line size> Description Specifies a cache size and cache line ...

Page 138

Table 4.10 Suboptions of Show Option Suboption Parameter symbol_forbid Function name | variable name samecode_forbid Function name variable_forbid Variable name function_forbid Function name absolute_forbid Address [+ size] Example symbol_forbid="f(int)" ; Remarks If optimize is not specified, this option is unavailable. ...

Page 139

Section Options Table 4.11 Section Category Options Item Command Line Format Section STARt = <sub>[,…] address <sub>: <section name> }<section name>[,…]] [/<address>] Symbol FSymbol = <section name>[,…] Link/Library address file STARt Link/Library <Section>[Show entries for ...

Page 140

When form={object | relocate | library} or strip is specified, this option is unavailable. FSymbol Link/Library <Section>[Show entries for :][Symbol file] Command Line Format FSymbol = <section name> [,…] Description Outputs externally defined symbols in the specified section to a ...

Page 141

Verify Options Table 4.12 Verify Category Options Item Command Line Format Address CPu = {<cpu information file check name> | {<memory type> = <address range>[,…] <memory type>: { ROm | RAm | XROm | XRAm | YROm | YRAm ...

Page 142

Remarks When form={object | relocate | library} or strip is specified, this option is unavailable. Memory types xrom, xram, yrom, and yram are available only when the CPU is SHDSP, SH2DSP, SH3DSP or SH4ALDSP. 128 ...

Page 143

Other Options Table 4.13 Other Category Options Item Command Line Format End code S9 Stack STACk information file Debug COmpress information compression NOCOmpress Memory MEMory = [ High | Low ] occupancy reduction Symbol name REName = <sub>[,…] modification ...

Page 144

Table 4. 13 Other Category Options (cont) Item Command Line Format Local symbol Hide name hide S9 Link/Library <Other>[Miscellaneous options :][Always output S9 record at the end] Command Line Format S9 Description Outputs the S9 record at the end even ...

Page 145

COmpress, NOCOmpress Link/Library <Other>[Miscellaneous options :][Compress debug information] Command Line Format COmpress NOCOmpress Description Specifies whether debug information is compressed. When compress is specified, the debug information is compressed. When nocompress is specified, the debug information is not compressed. By ...

Page 146

REName Link/Library <Other>[User defined options :] Command Line Format REName = <suboption> [,…] <suboption>: {[<file>] (<name> = <name> [,…]) | [<module>] (<name> = <name> [,… Description Modifies a symbol name or a section name. Symbol names or section ...

Page 147

Remarks When extract or strip is specified, this option is unavailable. REPlace Link/Library <Other>[User defined options :] Command Line Format REPlace = <suboption> [,…] <suboption>: <file name> <module name> [,… Description Replaces library ...

Page 148

EXTract Link/Library <Other>[User defined options :] Command Line Format EXTract = <module name> [,…] Description Extracts library modules. Extract the specified library module from the library file specified using the library option. Example extract=file1 Remarks When form={absolute | hexadecimal | ...

Page 149

CHange_message Link/Library <Other>[User defined options :] Command Line Format CHange_message = <suboption> [,…] <suboption>: <error level> [= <error number> [-<error number>] [,…] ] <error level>: {Information | Warning | Error} Description Modifies the level of information, warning, and error messages. ...

Page 150

Example The following source example in which this option is valid: int g1; int g2=1; const int g3=3; static int s1; static int s2=1; static const int s3=2; //<- The static variable name will be hidden. static ...

Page 151

Subcommand File Option Table 4.14 Subcommand Tab Option Item Command Line Format Dialog Menu Subcommand SUbcommand = file <file name> SUbcommand Link/Library <Subcommand file> [Use external subcommand file] Command Line Format SUbcommand = <file name> Description Specifies options with ...

Page 152

CPU Option Table 4.15 CPU Tab Option Item Command Line Format Dialog Menu SBR address SBr = { <SBR address> specification | User} SBr Command Line Format SBr = { <address> | User } Description Specifies the SBR address. ...

Page 153

Options Other Than Above Table 4.16 Options Other Than Above Item Command Line Format Dialog Menu Copyright LOgo NOLOgo Continuation END Termination EXIt Notification of MSg_unused unreferenced defined symbol LOgo, NOLOgo None (nologo is always available.) Command Line Format ...

Page 154

END None Command Line Format END Description Executes option strings specified before END. After the linkage processing is terminated, option strings that are specified after END are input and the linkage processing is continued. This option cannot be specified on ...

Page 155

Section 5 Standard Library Generator Operating Method 5.1 Comand Line Format The format of the command line is as follows: lbg38 [ <option string>...] <option string>:-<option>[=<suboption>[,...]] 5.2 Option Descriptions Options and suboptions of the standard library generator are based on ...

Page 156

Additional Options Table 5.1 shows additional options. Table 5.1 Additional Options Item Command Line Format Header file Head = <sub>[,…] <sub>:{ ALL RUNTIME CTYPE MATH MATHF STDARG STDIO STDLIB STRING IOS NEW COMPLEX CPPSTRING } Output file OUTPut = ...

Page 157

Head Standard Library <Standard Library>[Category :] Command Line Format Head = <sub>[,…] <sub>:{ ALL Description Specifies one or more categories to be generated with a header file name. For relationships between header files and library functions, refer to section 10.3, ...

Page 158

REent Standard Library <Object> [Generate reentrant library] Command Line Format REent Description Creates reentrant functions. Note that the rand and srand functions are not reentrant functions. Also note that the behavior of subsequent calls of the strtok function using the ...

Page 159

Options Unavailable for Standard Library Generator Table 5.2 shows C/C++ compiler options that cannot be specified for the standard library generator. If any of the options listed in table 5.2 are specified, these specifications are ignored. Table 5.2 Options ...

Page 160

Notes on Specifying Options When options are specified, follow the rules below: (1) Specify the same options as in compiling for options cpu, regparam, structreg/nostructreg, longreg/nolongreg, stack, double=float, byteenum, pack, rtti=on/off, exception/noexception, bit_order=left/right, indirect=normal/extended, ptr16, and sbr. (2) In ...

Page 161

Section 6 Operating Stack Analysis Tool 6.1 Overview The stack analysis tool displays the stack amount by reading the stack information file (*.sni) output by the optimizing linkage editor or the profile information file (*.pro) output by the simulator debugger. ...

Page 162

148 ...

Page 163

Section 7 Environment Variables 7.1 Environment Variables List The environment variables to be used by the compiler are listed in table 7.1. Table 7.1 Environment Variables Environment Variable Description path Specifies a storage directory for the execution file. Specification format: ...

Page 164

Table 7.1 Environment Variables (cont) Environment Variable Description H38CPU Specifies the CPU type overridden by the compiler or assembler cpu option. <CPU/operating mode> AE5 H8SXN H8SXM H8SXA H8SXX 2600n 2600a 2000n 2000a 300hn 300ha 300 300l The default value is ...

Page 165

Table 7.1 Environment Variables (cont) Environment Variable Description CH38 * Specifies an include file storage directory The search order for system include files is any directory specified by an include option, then this directory. The search order for user include ...

Page 166

Table 7.1 Environment Variables (cont) Environment Variable Description HLNK_LIBRARY1 Specifies a default library name for the optimizing linkage editor. Libraries HLNK_LIBRARY2 which are specified by a library option are linked first. Then, if there is an HLNK_LIBRARY3 unresolved symbol, the ...

Page 167

Compiler Implicit Declaration The compiler implicitly defines the macro names according to its version and options specified. Table 7.2 Compiler Implicit Declaration Option cpu = 300L cpu = 300 cpu = 300HN cpu = 300HA cpu = 2000N cpu ...

Page 168

Notes: 1. Address width (16, 20, 24, 28 bits) is defined _DATA_ADDRESS_SIZE_ _ is defined shown below. 2: 300, normal or middle mode, or advanced or maximum mode with the ptr16 ...

Page 169

Section 8 File Specifications 8.1 Naming Files A standard file extension is automatically added to the name of a compiled file when the file extension is omitted at file-naming. The standard file extensions used in the development environment are shown ...

Page 170

Table 8.1 Standard File Extensions Used in the Development Environment No. File Extension cpp, cc Iis, Ist * 1 5 Iis, lpp * src, mar 9 exp ...

Page 171

Table 8.2 tpldir Folder Output File No. File Extension For general rules on naming files, refer to the user's manual of the host computer because naming rules vary according to each host ...

Page 172

Source Listing The source listing may be output in two ways. When show=noexpansion is specified, the unpreprocessed source program listing is output. When show=expansion is specified, the preprocessed source program listing is output. Figures 8.1 (a) and (b) show ...

Page 173

SOURCE LISTING ************ Line Pi 0----+----1----+----2----+----3----+----4----+----5----+----6---- FILE NAME: m0260.c 1 [1] #include "header.h" FILE NAME: header.h 1 #define SML_INT 2 #define LRG_INT FILE NAME: m0260 int sum2(void int #ifdef SMALL 7 X ...

Page 174

Error Information Figure 8.2 shows an example of error information. ************ SOURCE LISTING ************ Line Pi 0----+----1----+----2----+----3----+----4----+----5----+----6---- FILE NAME: m0260.c 1 #include "header.h" extern int sum3(int sum3(int int i; 8 int ...

Page 175

The total number of information-level messages (only when the message option is specified). 8.2.4 Symbol Allocation Information Symbol allocation information is the information of function parameters and local variables. Figure 8.3 shows an example of symbol allocation information when ...

Page 176

Description [1] File name in which the function is defined, line number, and function name [2] Parameter allocation X saved from Y: REG ERx: 0xffffffxx,0x000000xx: [3] Local variable allocation information This indicates where the local variables declared in a compound ...

Page 177

ER0 ER1 b ER4 i ER5 b Frame pointer ER6 (FP) Notes Parameter Area Linkage Area Local Variable Area Register Save Area Total Frame Size ...

Page 178

Object Information Figures 8.5 and 8.6 show object listing examples when the source program listing is output to the object information and when not output, respectively. Figure 8.5 Object Information When Source Program Listing Is Output (show=source, Description (1) ...

Page 179

OBJECT LISTING ************ FILE NAME: m0251.c SCT OFFSET CODE C LABEL [1] [2] [3] P ;*** File m0251.c 00000000 _sum: ;*** File m0251.c ;*** File m0251.c 00000000 1911 ;*** File m0251.c 00000002 1988 ;*** File m0251.c 00000004 4004 00000006 ...

Page 180

Statistics Information Figure 8.7 shows an example of statistics information. ******* SECTION SIZE INFORMATION ******* PROGRAM SECTION(P): CONSTANT SECTION(C): DATA SECTION(D): BSS SECTION(B): TOTAL PROGRAM SECTION: 0x00000012 Byte(s) TOTAL CONSTANT SECTION: 0x00000000 Byte(s) TOTAL DATA SECTION: 0x00000000 Byte(s) TOTAL ...

Page 181

Assembler Listings 8.3.1 Structure of Assembler Listings Table 8.4 shows the structure and contents of assembler listings. Table 8.4 Structure and Contents of Assembler Listings List Structure Contents Source listing Shows information relating information to source program Cross reference ...

Page 182

F800 7 00000008 6AA800000000 8 0000000E 7A0200001000 9 10 00000014 F901 11 00000016 5800000A 12 0000001A 13 0000001A 6828 14 0000001C 0B02 15 0000001E 5E000000 16 17 00000022 18 ...

Page 183

Description (1) Line numbers in list (2) Value of the location counter Displays absolute address for absolute address section and displays relative address for relative address section. (3) Object code (4) Source line numbers The line number of source statement ...

Page 184

Section name The name of the section that includes the symbol eight characters are displayed. (3) Symbol attribute No display Label definition EQU Symbol defined with the .EQU assembler directive ASGN Symbol defined with the .ASSIGN assembler ...

Page 185

Section Information Listing The section information listing is shown. Figure 8.10 shows an example of section information listing. *** SECTION DATA LIST SECTION AAA BBB CCC DDD (1) Figure 8.10 Section Information Listing Output Example Description (1) Section name ...

Page 186

Structure of Linkage Listing Table 8.5 shows the structure and contents of the linkage listing. Table 8.5 Structure and Contents of Linkage Listing Information Creating List Contents Option information Displays option strings specified by a command line or subcommand ...

Page 187

Option Information Option information displays option strings specified by a command line or a subcommand file. The option information is output as shown in figure 8.11 when optlnk -sub=test.sub -list -show is specified. (Contents of test.sub) INPUT test.obj *** ...

Page 188

Linkage Map Information Linkage map information outputs the start and end addresses, size, and type of each section in order of addresses in the format shown in figure 8.13. *** Mapping List *** SECTION ( ...

Page 189

Symbol List *** SECTION=(1) FILE=(2) SYMBOL (6) SECTION=P FILE=test.obj _main _malloc FILE=mvn3 $MVN#3 Figure 8.14 Symbol Information Output Example (Linkage Listing) Description (1) Section name (2) File name (3) Start address of a section included in the file in ...

Page 190

Symbol Deletion Optimization Information Symbol deletion optimization information lists the size and type of symbols deleted by symbol deletion optimization (optimize=symbol_delete) as shown in figure 8.15. *** Delete Symbols *** SYMBOL (1) _Version Figure 8.15 Symbol Deletion Information Output ...

Page 191

Variable Accessible with Abs8 *** SYMBOL (1) _Char1Glob *** Variable Accessible with Abs16 *** SYMBOL (1) _IntGlob Figure 8.16 Output Example of Variable Access Optimization Symbol Information Description (1) Symbol name (2) Symbol size (3) Symbol reference count (4) ...

Page 192

Function Access Optimization Symbol Information When the show=reference option is specified, function access optimization symbol information lists the reference count and optimization information of the symbol to be optimized on function access optimization (optimize=function_call). Figure 8.17 shows an example ...

Page 193

Cross-Reference Information The symbol reference information (cross-reference information) can be output. A cross-reference information output example is shown in figure 8.18. *** Cross Reference List *** No Unit Name Global.Symbol (1) (2) 0001 a SECTION=P _func _func1 _main _g ...

Page 194

Library Listings This section covers the contents and format of the library listing output by the optimization linkage editor. 8.5.1 Structure of Library Listing Table 8.6 shows the structure and contents of the library listing. Table 8.6 Structure and ...

Page 195

Option Information Option information displays option strings specified by a command line or a subcommand file. Figure 8.19 shows an example of option information when optlnk -sub=test.sub -list -show is specified. (Contents of test.sub) form library in adhry.obj output ...

Page 196

Error Information Error information outputs an error message as shown in figure 8.20. *** Error information *** ** L1200 (W) Backed up file "main.lib" into "main.lbk" Figure 8.20 Error Information Output Example (Library Listing) Description (1) Error message 8.5.4 ...

Page 197

Module, Section, and Symbol Information within Library This information lists modules within the library. When the show=symbol option is specified, symbol names in a module within the library are listed. When the show=section option is specified, section names and ...

Page 198

184 ...

Page 199

Program Structure 9.1.1 Sections Each of the regions for execution instructions and data of the object programs output by the C/C++ compiler or assembler comprises a section. A section is the smallest unit for data placement in memory. Sections ...

Page 200

Table 9.1 Summary of Memory Area Types and Their Properties Section Name Name 1 Program area P* 1 Constant area C* 1 Initialized data area D* 1 Uninitialized data B* area 1 Constant area (8- $ABS8C* bit address space) 1 ...

Related keywords