4
The
TMS34010
C
language
4-1
4.1
Identifiers and Keywords
4-2
4.2 Constants
4-2
4.3
TMS34010
C Data Types
4-2
4.3.1 Derived Types
4-3
4.4
Object Alignment
4-4
4.5 Conversions
4-4
4.6
Expressions
4-4
4.6.1 Void Expressions
4-4
4.6.2 Primary Expressions
4-5
4.6.3
Unary Operators in Expressions
4-5
4.6.4
Assignment Operators in Expressions
4-5
4.7 Declarations
4-5
4.7.1 Storage Class Specifiers
in
Declarations
4-5
4.7.2 Type Specifiers in Declarations
4-6
4.7.3
Structure and Union Declarations
4-6
4.7.4
Enumeration
Declarations
4-7
4.8 Initialization
of
Static and Global Variables
4-8
4.9
8sm
Statement
4-8
4.10
Lexi~al
Scope Rules
. .
..
4-10
5
TMS34010
C
Run-Time
Environment
5-1
5.1
Memory Model
5-2
5.1.1
TMS34010
C Stacks
5-2
5.1.2 Global Variable Memory Allocation
5-3
5.1.3
Structure Packing and Field Manipulation
5-3
5.1.4 Array Alignment
5-3
5.2 Register Conventions
5-4
5.2.1 D.edicated Registers
5-4
5.2.2
Using Registers
5-4
5.2.3
Register
Variables
5-5
5.3 Integer Expression Analysis
5-5
5.4 Floating Point Conventions
5-6
5.5
Function
Call Conventions
5-7
5.5.1 Register Usage Within Functions
5-8
5.5.2 Passing Parameters
5-8
5.5.3 Local Frame Generation
5-9
5.5.4
Function Termination
5-10
5.5.5 Restoration
of
the
CaUer's
Environment
5-11
5.5.6 Return from Function
5-11
5.6 Interrupt Handling 5-11
5.7
System Initialization
5-12
5.7.1 System Stack
5-13
5.7.2 Program Stack
5-13
5.7.3 Initialization
of
Global Variables
5-13
iv