Contents
Languages
- Pre-ANSI C with ANSI C prototype support
Operating systems
- Linux
- Sun Solaris 1.X
- Sun Solaris 2.3 or higher
^Top
Target processors
- National Semiconductor F9450
- Honeywell Generic VHSIC Spaceborne RH1750
- Honeywell PDU/SDU
- Performance Semiconductor PACE 1750A
- Marconi Electronic Devices MIL-STD-1750A.
- Fairchild SBC
Basic data types
|
|
|
|
char |
unsigned 8-bit integer |
|
short |
signed 16-bit integer |
|
long |
signed 32-bit integer |
|
int |
same as "short" |
|
float |
32-bit MIL-STD-1750A floating-point value |
|
double |
48-bit MIL-STD-1750A floating-point value |
|
enum |
enumerated data type(s) |
|
unsigned |
same as "char" |
|
unsigned |
short unsigned 16-bit integer |
|
unsigned |
long unsigned 32-bit integer |
|
unsigned |
int same as "unsigned short" |
Additional data types
XTC-1750A also supports pointers, arrays, structures, and unions. These data types can be nested to three levels.
Address space
- Storage unit: 16-bit word
- Addressing range: 64K words
- User-defined address states specify virtual address space, which is mapped into arbitrary blocks of physical memory
- Code and data mapped into the same 64K-word address space
- "C" used to access multiple address spaces through overlays
Relocatable memory segments
|
|
|
|
|
IREL |
Run-time initialization code |
ROM |
|
KREL |
Constants (excluding in-line constants) |
ROM |
|
NREL |
Normal user code |
ROM |
|
SREL |
Global and static variables |
RAM |
|
ZREL |
General-purpose segment |
RAM or ROM |
Notes on memory segments:
- The XTC-1750A compiler generates most 16-bit numeric constants in-line using 1750A instructions.
- The IREL segment contains code that copies constants from the KREL segment to variables located in the SREL segment; the XTC-1750A program start-up module calls the IREL code at start-up time.
Core library routines
Note: Additional routines provided on request
|
|
|
atof |
atoi |
atol |
index |
isalnum |
isalpha |
|
isascii |
iscntrl |
isdigit |
iseol |
islower |
isodigit |
|
isprint |
ispunct |
isspace |
isupper |
isxdigit |
itoa |
|
longjmp |
rindex |
setjmp |
strcat |
strchr |
strcmp |
|
strcpy |
strcspn |
strlen |
strncat |
strncmp |
strncpy |
|
strpbrk |
strrchr |
strspn |
toascii |
tolower |
toupper |
|
|
|
abs |
acos |
acosh |
acot |
acoth |
acsc |
|
acsch |
asec |
asin |
asinh |
atan |
atan2 |
|
atanh |
cbrt |
ceil |
cos |
cosh |
cot |
|
coth |
csc |
csch |
dtor |
exp |
fabs |
|
floor |
frac |
hypot |
ipow |
log |
log10 |
|
pow |
powe |
powi |
rand |
rtod |
sec |
|
sech |
sin |
sinh |
sqrt |
srand |
tan |
|
tanh |
|
|
|
|
|
|
|
|
calloc |
free |
malloc |
mflush |
realloc |
|
|
|
fprintf |
getc |
getchar |
getcnb |
printf |
putc |
|
putchar |
putcnb |
scanf |
sprintf |
|
|
Interrupt processing
- Interrupt handlers are written in assembly language; "C" subroutines may be used
|