YOMEDIA
ADSENSE
HI-TECH C PRO cho các mảng tín hiệu hỗn hợp-PSoC
162
lượt xem 25
download
lượt xem 25
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Different fonts and styles are used throughout this manual to indicate special words or text. Computer prompts, responses and filenames will be printed in constant-spaced type.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: HI-TECH C PRO cho các mảng tín hiệu hỗn hợp-PSoC
- HI-TECH C PRO for the PSoC Mixed-Signal Array HI-TECH Software. Copyright (C) 2008 HI-TECH Software. All Rights Reserved. Printed in Australia. PSoC and Cypress are registered trademarks of Cypress Semiconductor Corp. Produced on: October 22, 2008 HI-TECH Software Pty. Ltd. ACN 002 724 549 45 Colebard Street West Acacia Ridge QLD 4110 Australia email: hitech@htsoft.com web: http://cypress.htsoft.com ftp: ftp://www.htsoft.com
- Contents Table of Contents 3 List of Figures 17 List of Tables 19 1 Introduction 21 1.1 Typographic conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2 CPSOC Command-line Driver 23 2.1 Invoking the Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.1.1 Long Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2 The Compilation Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.2.1 Single-step Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.2.2 Generating Intermediate Files . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.2.3 Special Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.2.3.1 Printf check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.2.3.2 Assembly Code Requirements . . . . . . . . . . . . . . . . . . . 30 2.3 Runtime Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.3.1 Library Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.3.1.1 Standard Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3.2 Runtime Startup Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3.2.1 Initialization of Data psects . . . . . . . . . . . . . . . . . . . . . 33 2.3.2.2 Clearing the Bss Psects . . . . . . . . . . . . . . . . . . . . . . . 34 2.3.3 The Powerup Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.3.4 The printf Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.4 Debugging Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.4.1 Output File Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3
- CONTENTS CONTENTS 2.4.2 Symbol Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.4.3 Support Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.5 Compiler Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.5.1 Messaging Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.5.2 Message Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.5.3 Message Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.5.4 Message Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.5.5 Changing Message Behaviour . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.5.5.1 Disabling Messages . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.5.5.2 Changing Message Types . . . . . . . . . . . . . . . . . . . . . . 44 2.6 CPSOC Driver Option Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.6.1 -C: Compile to Object File . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.6.2 -Dmacro: Define Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.6.3 -Efile: Redirect Compiler Errors to a File . . . . . . . . . . . . . . . . . . 47 2.6.4 -Gfile: Generate source-level Symbol File . . . . . . . . . . . . . . . . . 48 2.6.5 -Ipath: Include Search Path . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.6.6 -Llibrary : Scan Library . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.6.7 -L-option: Adjust Linker Options Directly . . . . . . . . . . . . . . . . . 49 2.6.8 -Mfile: Generate Map File . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.6.9 -Nsize: Identifier Length . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.6.10 -Ofile: Specify Output Filenames . . . . . . . . . . . . . . . . . . . . . . 51 2.6.11 -P: Preprocess Assembly Files . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.6.12 -Q: Quiet Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.6.13 -S: Compile to Assembly Code . . . . . . . . . . . . . . . . . . . . . . . . 52 2.6.14 -Umacro: Undefine a Macro . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.6.15 -V: Verbose Compile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.6.16 -X: Strip Local Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.6.17 --ASMLIST: Generate Assembly List Files . . . . . . . . . . . . . . . . . . . 53 2.6.18 --AUTOBANK=number: Specify Local Variable Bank . . . . . . . . . . . . . 53 2.6.19 --CHAR=type: Make Char Type Signed or Unsigned . . . . . . . . . . . . . 54 2.6.20 --CHECKSUM=start-end@destination: Calculate a check- sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.6.21 --CHIP=processor : Define Processor . . . . . . . . . . . . . . . . . . . 54 2.6.22 --CHIPINFO: Display a list of supported processors . . . . . . . . . . . . . . 55 2.6.23 --CR=file: Generate Cross Reference Listing . . . . . . . . . . . . . . . . 55 2.6.24 --DOUBLE=type: Select kind of Double Types . . . . . . . . . . . . . . . . 55 2.6.25 --ERRFORMAT=format: Define Format for Compiler Messages . . . . . . . 56 2.6.26 --ERRORS=number : Maximum Number of Errors . . . . . . . . . . . . . . 56 2.6.27 --FILL=opcode: Fill Unused Program Memory . . . . . . . . . . . . . . . 56 4
- CONTENTS CONTENTS 2.6.28 --GETOPTION=app,file: Get command line options . . . . . . . . . . . . 56 2.6.29 --HELP: Display Help . . . . . . . . . . . . . . . . . . . . . . 57 2.6.30 --IDE=type: Specify the IDE being used . . . . . . . . . . . . . . . . . . 57 2.6.31 --LANG=language: Specify the Language for Messages . . . . . . . . . . 57 2.6.32 --MAC=number: Limit MAC Hardware Block Usage . . . . . . . . . . . . . 57 2.6.33 --MEMMAP=mapfile: Display memory map . . . . . . . . . . . . . . . . . 58 2.6.34 --MSGFORMAT=format: Set Advisory Message Format . . . . . . . . . . . 58 2.6.35 --MSGDISABLE=messagelist: Disable Warning Messages . . . . . . . . 58 2.6.36 --NODEL: Do not Remove Temporary Files . . . . . . . . . . . . . . . . . . 58 2.6.37 --NOEXEC: Don’t execute compiler . . . . . . . . . . . . . . . . . . . . . . 59 2.6.38 --OBJDIR=path: Specify Directory for Intermediate Files . . . . . . . . . . 59 2.6.39 --OPT: Invoke Compiler Optimizations . . . . . . . . . . . . . . . 59 2.6.40 --OUTDIR=path: Specify Directory for Output Files . . . . . . . . . . . . . 59 2.6.41 --OUTPUT=type: Specify Output File Type . . . . . . . . . . . . . . . . . . 60 2.6.42 --PASS1: Compile to p-code Intermediate File . . . . . . . . . . . . . . . . 60 2.6.43 --PRE: Produce Preprocessed Source Code . . . . . . . . . . . . . . . . . . 60 2.6.44 --PROTO: Generate Prototypes . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.6.45 --RAM=lo-hi,: Specify additional RAM ranges . . . . . . 62 2.6.46 --REENTRANT: Force functions to be re-entrant . . . . . . . . . . . . . . . . 62 2.6.47 --ROM=lo-hi,|tag : Specify additional ROM ranges . . 63 2.6.48 --RUNTIME=type: Specify Runtime Environment . . . . . . . . . . . . . . 63 2.6.49 --SCANDEP: Scan for dependencies . . . . . . . . . . . . . . . . . . . . . . 63 2.6.50 --SERIAL=hexcode@address: Store a Value at this Program Memory Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.6.51 --SETOPTION=app,file: Set the command line options for application . . 64 2.6.52 --SETUP=dir : Setup the product . . . . . . . . . . . . . . . . . . . . . . . 65 2.6.53 --STRICT: Strict ANSI Conformance . . . . . . . . . . . . . . . . . . . . . 65 2.6.54 --SUMMARY=type: Select memory summary output type . . . . . . . . . . . 65 2.6.55 --TIME: Report time taken for each phase of build process . . . . . . . . . . 65 2.6.56 --VER: Display the compiler’s version information . . . . . . . . . . . . . . 65 2.6.57 --WARN=level: Set Warning Level . . . . . . . . . . . . . . . . . . . . . . 66 2.6.58 --WARNFORMAT=format: Set Warning Message Format . . . . . . . . . . . 66 2.6.59 --WDT=period : Specify watchdog timer period . . . . . . . . . . . . . . . 66 3 C Language Features 69 3.1 ANSI Standard Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.1.1 Implementation-defined behaviour . . . . . . . . . . . . . . . . . . . . . . . 69 3.2 Processor-related Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.2.1 Stacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5
- CONTENTS CONTENTS 3.2.2 Endianism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.3 Supported Data Types and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.3.1 Radix Specifiers and Constants . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.3.2 Bit Data Types and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.3.3 8-Bit Integer Data Types and Variables . . . . . . . . . . . . . . . . . . . . 73 3.3.4 16-Bit Integer Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.3.5 24-Bit Integer Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.3.6 32-Bit Integer Data Types and Variables . . . . . . . . . . . . . . . . . . . . 74 3.3.7 Floating Point Types and Variables . . . . . . . . . . . . . . . . . . . . . . . 74 3.3.8 Structures and Unions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.3.8.1 Bitfields in Structures . . . . . . . . . . . . . . . . . . . . . . . . 75 3.3.8.2 Structure and Union Qualifiers . . . . . . . . . . . . . . . . . . . 77 3.3.9 Standard Type Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.3.9.1 Const and Volatile Type Qualifiers . . . . . . . . . . . . . . . . . 78 3.3.10 Special Type Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.3.10.1 Persistent Type Qualifier . . . . . . . . . . . . . . . . . . . . . . 78 3.3.10.2 __ioport Type Qualifier . . . . . . . . . . . . . . . . . . . . . . . 79 3.3.11 Pointer Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.3.11.1 Combining Type Qualifiers and Pointers . . . . . . . . . . . . . . 80 3.3.11.2 Data Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.3.11.3 Pointers to Const . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.3.11.4 Pointers to Both Memory Spaces . . . . . . . . . . . . . . . . . . 83 3.3.11.5 Function Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.4 Storage Class and Object Placement . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.4.1 Local Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.4.1.1 Auto Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.4.1.2 Static Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.4.2 Absolute Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.4.3 Objects in the Program Space . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.5 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.5.1 Function Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.5.1.1 Interrupt Function Qualifier . . . . . . . . . . . . . . . . . . . . . 86 3.5.1.2 Reentrant Function Qualifier . . . . . . . . . . . . . . . . . . . . 86 3.5.1.3 Fastcall16 Function Qualifier . . . . . . . . . . . . . . . . . . . . 87 3.5.2 Function Argument Passing . . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.5.2.1 Reentrant Function Parameters . . . . . . . . . . . . . . . . . . . 87 3.5.2.2 Non-reentrant Function Parameters . . . . . . . . . . . . . . . . . 87 3.5.3 Function Return Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.6 Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6
- CONTENTS CONTENTS 3.6.1 Integral Promotion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.6.2 Rotate Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 3.6.3 Shifts applied to integral types . . . . . . . . . . . . . . . . . . . . . . . . . 90 3.6.4 Division and modulus with integral types . . . . . . . . . . . . . . . . . . . 91 3.7 Psects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.7.1 Compiler-generated Psects . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.8 Interrupt Handling in C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 3.8.1 Interrupt Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 3.8.1.1 Context Saving on Interrupts . . . . . . . . . . . . . . . . . . . . 93 3.8.1.2 Context Restoration . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.8.2 Enabling Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.9 Mixing C and assembly code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.9.1 External Assembly Language Functions . . . . . . . . . . . . . . . . . . . . 94 3.9.2 #asm, #endasm and asm() . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.9.3 Accessing C objects from within Assembly Code . . . . . . . . . . . . . . . 99 3.9.3.1 Equivalent Assembly Symbols . . . . . . . . . . . . . . . . . . . 99 3.9.3.2 Accessing register names from assembler . . . . . . . . . . . . . . 100 3.9.4 Interaction between Assembly and C Code . . . . . . . . . . . . . . . . . . 101 3.9.4.1 Absolute Psects . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.9.4.2 Undefined Symbols . . . . . . . . . . . . . . . . . . . . . . . . . 102 3.10 Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.10.1 C Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.10.2 Preprocessor Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.10.3 Predefined Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.10.4 Pragma Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.10.4.1 The #pragma fastcall16 Directive . . . . . . . . . . . . . . . . . . 104 3.10.4.2 The #pragma inline Directive . . . . . . . . . . . . . . . . . . . . 104 3.10.4.3 The #pragma ioport Directive . . . . . . . . . . . . . . . . . . . . 104 3.10.4.4 The #pragma jis and nojis Directives . . . . . . . . . . . . . . . . 107 3.10.4.5 The #pragma pack Directive . . . . . . . . . . . . . . . . . . . . . 107 3.10.4.6 The #pragma printf_check Directive . . . . . . . . . . . . . . . . 108 3.10.4.7 The #pragma regsused Directive . . . . . . . . . . . . . . . . . . 108 3.10.4.8 The #pragma switch Directive . . . . . . . . . . . . . . . . . . . . 109 3.11 Linking Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.11.1 Replacing Library Modules . . . . . . . . . . . . . . . . . . . . . . . . . . 110 3.11.2 Linker-Defined Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.12 Standard I/O Functions and Serial I/O . . . . . . . . . . . . . . . . . . . . . . . . . 111 7
- CONTENTS CONTENTS 4 Macro Assembler 113 4.1 Assembler Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.2 Assembler Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 4.3 HI-TECH C Assembly Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.3.1 Statement Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.3.2 Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.3.2.1 Delimiters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.3.2.2 Special Characters . . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.3.3 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.3.4 Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.3.4.1 Numeric Constants . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.3.4.2 Character Constants and Strings . . . . . . . . . . . . . . . . . . . 118 4.3.5 Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.3.5.1 Significance of Identifiers . . . . . . . . . . . . . . . . . . . . . . 119 4.3.5.2 Assembler-Generated Identifiers . . . . . . . . . . . . . . . . . . 119 4.3.5.3 Location Counter . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.3.5.4 Register Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.3.5.5 Symbolic Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.3.6 Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.3.7 Program Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 4.3.8 Assembler Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.3.8.1 GLOBAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.3.8.2 EXPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.3.8.3 END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.3.8.4 PSECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.3.8.5 AREA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 4.3.8.6 ORG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 4.3.8.7 EQU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 4.3.8.8 SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 4.3.8.9 DB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 4.3.8.10 DW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 4.3.8.11 DDW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 4.3.8.12 DWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 4.3.8.13 DS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 4.3.8.14 DSU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.3.8.15 ASCIZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.3.8.16 BLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.3.8.17 BLKW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.3.8.18 IF, ELSIF, ELSE and ENDIF . . . . . . . . . . . . . . . . . . . . 132 8
- CONTENTS CONTENTS 4.3.8.19 MACRO and ENDM . . . . . . . . . . . . . . . . . . . . . . . . 132 4.3.8.20 LOCAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 4.3.8.21 ALIGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 4.3.8.22 REPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 4.3.8.23 IRP and IRPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 4.3.8.24 INCLUDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4.3.8.25 PROCESSOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4.3.8.26 SIGNAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4.3.9 Assembler Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 4.3.9.1 COND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 4.3.9.2 EXPAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 4.3.9.3 INCLUDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 4.3.9.4 LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 4.3.9.5 NOCOND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 4.3.9.6 NOEXPAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 4.3.9.7 NOLIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 4.3.9.8 NOXREF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 4.3.9.9 PAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 4.3.9.10 SPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 4.3.9.11 SUBTITLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 4.3.9.12 TITLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 4.3.9.13 XREF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 4.4 Assembler List Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 4.4.1 Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 4.4.2 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 5 Linker and Utilities 143 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 5.2 Relocation and Psects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 5.3 Program Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.4 Local Psects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.5 Global Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.6 Link and load addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 5.7 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 5.7.1 Numbers in linker options . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 5.7.2 -Aclass=low-high,... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 5.7.3 -Cx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 5.7.4 -Cpsect=class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 5.7.5 -Dclass=delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 9
- CONTENTS CONTENTS 5.7.6 -Dsymfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 5.7.7 -Eerrfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 5.7.8 -F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 5.7.9 -Gspec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 5.7.10 -Hsymfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 5.7.11 -H+symfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 5.7.12 -Jerrcount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 5.7.13 -K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.7.14 -I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.7.15 -L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.7.16 -LM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.7.17 -Mmapfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.7.18 -N, -Ns and-Nc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.7.19 -Ooutfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.7.20 -Pspec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 5.7.21 -Qprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 5.7.22 -S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 5.7.23 -Sclass=limit[, bound] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 5.7.24 -Usymbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 5.7.25 -Vavmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 5.7.26 -Wnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 5.7.27 -X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 5.7.28 -Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 5.8 Invoking the Linker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 5.9 Compiled Stack Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 5.9.1 Parameters involving Function Calls . . . . . . . . . . . . . . . . . . . . . . 155 5.10 Map Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 5.10.1 Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 5.10.2 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 5.10.2.1 General Information . . . . . . . . . . . . . . . . . . . . . . . . . 158 5.10.2.2 Call Graph Information . . . . . . . . . . . . . . . . . . . . . . . 159 5.10.2.3 Psect Information listed by Module . . . . . . . . . . . . . . . . . 165 5.10.2.4 Psect Information listed by Class . . . . . . . . . . . . . . . . . . 167 5.10.2.5 Segment Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 5.10.2.6 Unused Address Ranges . . . . . . . . . . . . . . . . . . . . . . . 167 5.10.2.7 Symbol Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 5.11 Librarian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 5.11.1 The Library Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 5.11.2 Using the Librarian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 10
- CONTENTS CONTENTS 5.11.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 5.11.4 Supplying Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 5.11.5 Listing Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 5.11.6 Ordering of Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 5.11.7 Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 5.12 Objtohex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 5.12.1 Checksum Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 5.13 Cref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 5.13.1 -Fprefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 5.13.2 -Hheading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 5.13.3 -Llen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 5.13.4 -Ooutfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 5.13.5 -Pwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 5.13.6 -Sstoplist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 5.13.7 -Xprefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 5.14 Cromwell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 5.14.1 -Pname[,architecture] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 5.14.2 -N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 5.14.3 -D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 5.14.4 -C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 5.14.5 -F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 5.14.6 -Okey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 5.14.7 -Ikey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 5.14.8 -L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 5.14.9 -E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 5.14.10 -B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 5.14.11 -M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 5.14.12 -V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 5.15 Hexmate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 5.15.1 Hexmate Command Line Options . . . . . . . . . . . . . . . . . . . . . . . 180 5.15.1.1 specifications,filename.hex . . . . . . . . . . . . . . . . . . . . . 180 5.15.1.2 + Prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 5.15.1.3 -ADDRESSING . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 5.15.1.4 -BREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 5.15.1.5 -CK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 5.15.1.6 -FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 5.15.1.7 -FIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 5.15.1.8 -FIND...,DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . 185 5.15.1.9 -FIND...,REPLACE . . . . . . . . . . . . . . . . . . . . . . . . . 185 11
- CONTENTS CONTENTS 5.15.1.10 -FORMAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 5.15.1.11 -HELP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 5.15.1.12 -LOGFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 5.15.1.13 -MASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 5.15.1.14 -Ofile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 5.15.1.15 -SERIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 5.15.1.16 -SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 5.15.1.17 -STRING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 5.15.1.18 -STRPACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 A Library Functions 191 ABS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 ACOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 ASCTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 ASIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 ASSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 ATAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 ATAN2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 ATOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 ATOI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 ATOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 BSEARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 CEIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 CGETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 COS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 COSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 CPUTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 CTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 DIV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 EVAL_POLY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 EXP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 FABS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 FLASH_READBLOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 FLASH_WRITEBLOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 FMOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 FLOOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 FREXP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 FTOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 12
- CONTENTS CONTENTS GETCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 GETCHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 GETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 GMTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 ISALNUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 ISDIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 ITOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 LABS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 LDEXP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 LDIV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 LOCALTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 LONGJMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 LTOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 MEMCHR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 MEMCMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 MEMCPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 MEMSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 MKTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 MODF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 POW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 PUTCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 PUTCHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 PUTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 QSORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 RAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 ROUND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 SETJMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 SIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 SPRINTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 SQRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 SRAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 SSCANF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 STRCAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 STRCHR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 STRCMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 STRCPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 STRCSPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 STRLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 13
- CONTENTS CONTENTS STRNCAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 STRNCMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 STRNCPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 STRPBRK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 STRRCHR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 STRSPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 STRSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 STRTOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 STRTOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 STRTOK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 TAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 TOLOWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 TRUNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 UDIV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 ULDIV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 UNGETCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 UTOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 VA_START . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 XTOI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 B Error and Warning Messages 309 1... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 138... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 184... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 227... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 269... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 312... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 355... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 400... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 444... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 489... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 599... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 670... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 730... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 776... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 839... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 905... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 971... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 14
- CONTENTS CONTENTS 1032... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 1157... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 1242... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 C Chip Information 437 Index 443 15
- CONTENTS CONTENTS 16
- List of Figures 2.1 Flow diagram of the initial compilation sequence . . . . . . . . . . . . . . . . . . . 26 2.2 Flow diagram of the final compilation sequence . . . . . . . . . . . . . . . . . . . . 27 17
- LIST OF FIGURES LIST OF FIGURES 18
- List of Tables 2.1 CPSOC input file types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2 Support languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.3 Messaging environment variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.4 Messaging placeholders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.5 CPSOC command-line options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.6 Supported Double Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.7 Supported IDEs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.8 Supported languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.9 Optimization Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.10 Output file formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.11 Runtime environment suboptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.12 Memory Summary Suboptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.1 Basic data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.2 Radix formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.3 Floating-point formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.4 Floating-point format example IEEE 754 . . . . . . . . . . . . . . . . . . . . . . . . 75 3.5 Integral division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.6 Equivalent assembly symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.7 Predefined SFR names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.8 Preprocessor directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 3.9 Predefined macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 3.10 Pragma directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 3.11 Regsused register names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.12 switch types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.13 Supported standard I/O functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 19
- LIST OF TABLES LIST OF TABLES 4.1 ASPSOC command-line options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 4.2 ASPSOCstatement formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.3 ASPSOC numbers and bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.4 ASPSOC operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 4.5 ASPSOC assembler directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.6 PSECT flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.7 ASPSOC assembler controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 4.8 LIST control options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 5.1 Linker command-line options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 5.1 Linker command-line options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 5.2 Librarian command-line options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 5.3 Librarian key letter commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 5.4 OBJTOHEX command-line options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 5.5 CREF command-line options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 5.6 CROMWELL format types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 5.7 CROMWELL command-line options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 5.8 -P option architecture arguments for COFF file output. . . . . . . . . . . . . . . . . 178 5.9 Hexmate command-line options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 5.10 Hexmate Checksum Algorithm Selection . . . . . . . . . . . . . . . . . . . . . . . 184 5.11 INHX types used in -FORMAT option . . . . . . . . . . . . . . . . . . . . . . . . . 187 C.1 Devices supported by HI-TECH C . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 C.1 Devices supported by HI-TECH C . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 C.1 Devices supported by HI-TECH C . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 C.1 Devices supported by HI-TECH C . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 C.1 Devices supported by HI-TECH C . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 20
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn