Next:
4.1 MCS51 variants
Up:
SDCC Compiler User Guide
Previous:
3.17 Defines Created by
Contents
Index
4
. Notes on supported Processors
Subsections
4
.
1
MCS51 variants
4
.
1
.
1
pdata access by SFR
4
.
1
.
2
Other Features available by SFR
4
.
1
.
3
Bankswitching
4
.
1
.
3
.
1
Hardware
4
.
1
.
3
.
2
Software
4
.
1
.
4
MCS51/DS390 Startup Code
4
.
1
.
5
Interfacing with Assembler Code
4
.
1
.
5
.
1
Global Registers used for Parameter Passing
4
.
1
.
5
.
2
Register usage
4
.
1
.
5
.
3
Assembler Routine (non-reentrant)
4
.
1
.
5
.
4
Assembler Routine (reentrant)
4
.
2
DS400 port
4
.
3
The Z80, Z180, Rabbit 2000, Rabbit 2000A, Rabbit 3000A, SM83 (GameBoy), eZ80, TLCS-90 and R800 ports
4
.
3
.
1
Startup Code
4
.
3
.
2
Rabbit ports
4
.
3
.
2
.
1
Rabbit wait states
4
.
3
.
3
Z80, Z180, Z80N and R800 calling conventions
4
.
3
.
3
.
1
Z80 SDCC calling convention, version 1
4
.
3
.
3
.
2
Z80 SDCC calling convention, version 0
4
.
3
.
4
Rabbit 2000, Rabbit 2000A, Rabbit 3000A, eZ80 and TLCS-90 calling conventions
4
.
3
.
4
.
1
Rabbit SDCC calling convention, version 1
4
.
3
.
5
SM83 calling conventions
4
.
3
.
5
.
1
SM83 SDCC calling convention, version 1
4
.
3
.
5
.
2
SM83 SDCC calling convention, version 0
4
.
3
.
6
Small-C calling convention
4
.
3
.
7
Complex instructions
4
.
3
.
8
Unsafe reads
4
.
3
.
9
Z80 banked calls
4
.
4
The HC08 and S08 ports
4
.
4
.
1
Startup Code
4
.
5
The STM8 port
4
.
5
.
1
Calling conventions
4
.
5
.
1
.
1
SDCC calling convention, version 1
4
.
5
.
1
.
2
SDCC calling convention, version 0
4
.
5
.
1
.
3
Raisonance calling convention
4
.
5
.
1
.
4
IAR calling convention
4
.
5
.
1
.
5
Cosmic calling convention
4
.
6
The PIC14 port
4
.
6
.
1
PIC Code Pages and Memory Banks
4
.
6
.
2
Adding New Devices to the Port
4
.
6
.
3
Interrupt Code
4
.
6
.
4
Configuration Bits
4
.
6
.
5
Linking and Assembling
4
.
6
.
6
Command-Line Options
4
.
6
.
7
Environment Variables
4
.
6
.
8
The Library
4
.
6
.
8
.
1
Enhanced cores
4
.
6
.
8
.
2
Accessing bits of special function registers
4
.
6
.
8
.
3
Naming of special function registers
4
.
6
.
8
.
4
error: missing definition for symbol “__gptrget1”
4
.
6
.
8
.
5
Processor mismatch in file “XXX”.
4
.
6
.
9
Known Bugs
4
.
6
.
9
.
1
Function arguments
4
.
6
.
9
.
2
Regression tests fail
4
.
7
The PIC16 port
4
.
7
.
1
Global Options
4
.
7
.
2
Port Specific Options
4
.
7
.
2
.
1
Code Generation Options
4
.
7
.
2
.
2
Optimization Options
4
.
7
.
2
.
3
Assembling Options
4
.
7
.
2
.
4
Linking Options
4
.
7
.
2
.
5
Debugging Options
4
.
7
.
3
Environment Variables
4
.
7
.
4
Preprocessor Macros
4
.
7
.
5
Directories
4
.
7
.
6
Pragmas
4
.
7
.
7
Header Files and Libraries
4
.
7
.
8
Header Files
4
.
7
.
9
Libraries
Building the libraries
Output of float values via printf()
4
.
7
.
10
Adding New Devices to the Port
4
.
7
.
11
Memory Models
4
.
7
.
12
Stack
4
.
7
.
13
Functions
4
.
7
.
14
Function return values
4
.
7
.
15
Interrupts
4
.
7
.
16
Generic Pointers
4
.
7
.
17
Configuration Bits
4
.
7
.
18
PIC16 C Libraries
4
.
7
.
18
.
1
Standard I/O Streams
4
.
7
.
18
.
2
Printing functions
4
.
7
.
18
.
3
Signals
4
.
7
.
19
PIC16 Port – Tips
4
.
7
.
19
.
1
Stack size
4
.
7
.
20
Known Bugs
4
.
7
.
20
.
1
Extended Instruction Set
4
.
7
.
20
.
2
Regression Tests
4
.
8
The MOS6502 port
4
.
8
.
1
Startup Code