MicroController Pros Home Page My Account  Cart Contents  Checkout  
  Store » 68k C My Account  |  Cart Contents  |  Checkout   
Quick Find
Enter keywords to find the product you are looking for in the Quick Find field above

or use
Advanced Search
Accessory Boards->
ADI Blackfin
Atmel AVR->
Cypress PSoC
Microchip PIC->
Silicon Labs
ST Microelectronics->
Texas Instruments->
Embedded Ethernet->
Embedded Software->
I/O Modules->
Parts & Components->
Pick & Place Tools
Programmable Logic (PLD)
Prototype PCBs->
ROM/Flash Emulators
Test & Measurement->
Tutorial Software
Universal Programmers->
Intro to Embedded Tools
Embedded News Digest
Useful Resources
Shipping & Returns
Warranty & Liability
Privacy Notice
Conditions of Use
Contact Us
Motorola M68000 ANSI C-Compiler and Assembler Motorola M68000 ANSI C-Compiler and Assembler

Go to M68000 C-compiler order page

The Crossware C680X0NT is an ANSI standard C compiler that generates code for the M68000 microprocessor, M68020 microprocessor and M68881 maths coprocessor and Motorola microcontrollers based upon the CPU32 and CPU32+ cores. Supported chips include the M68000, M68008, M68302, M68306, M68307, M68322 and M68328, M68020, M68330, M68332, M68340, M68349 and M68360. It comes complete with the Crossware Embedded Development Studio and runs under Windows 9x, Windows 2000 and Windows NT 4.0.


  • Optimising ANSI C compiler with extensions for embedded development
  • Source level debug output in IEEE695 format
  • Pre-written library routines including 32 bit and 64 bit floating point arithmetic
  • Wide range of output file formats
  • Integrated Motorola compatible assembler
  • Highly user friendly Embedded Development Studio integrated development environment (see separate data sheet)

The package includes the following tools and utilities:

  • optimising ANSI C compiler
  • C support libraries
  • relocatable macro cross assembler
  • relocating linker
  • make utility
  • library manager
  • Embedded Development Studio which includes
    • integrated project creation and maintenance utility
    • integrated editor
    • integrated terminal emulator
    • integrated C symbol browser
    • on-line books with full text search

    (The Embedded Development Studio and the relocatable macro cross assembler are described in detail in separate data sheets)

All of these tools and utilities are Win32 applications built to make the most of your 32 bit computing environment. All tools can be used outside of the Embedded Development Studio if required using conventional command-line instructions.



Language Definition
The compiler conforms to the ANSI C specification and in addition, provides a number of enhancements including:

  • variables can be any length with all characters significant
  • the C++ commenting convention "//" is supported
  • the _interrupt keyword declares a C function as an interrupt routine

The support libraries are a subset of the ANSI standard libraries. The supported functions are listed below.

Data Sizes
The compiler uses the following sizes for the various C data types:

char and unsigned char : 1 byte
short int and unsigned short int : 2 bytes
int and unsigned int : 4 bytes;
long and unsigned long : 4 bytes
float : 4bytes (32 bits)
double : 8 bytes (64 bits)
long double : 8 bytes (64 bits)
enum : up to 4 bytes (minimum size
to accommodate members)
bit fields : up to 32 bits

In-Line Assembler
Assembler code can be included in your C source files both within and outside of C functions. In-line assembler code is passed unmodified to the relocatable assembler and so any assembler constructs including macros, segment directives and conditional assembly directives can be included.

Optimizations include:

  • constant folding
  • dead code elimination
  • strength reduction
  • algebraic simplification
  • jump/branch optimization
  • suppression of integral promotion
  • global register allocation 

Code and data location
Compiler generated code and data are automatically located in appropriate memory segments. Linker options allow these segments to be located at user defined memory locations. String constants and objects declared as const are located in code space. Initialized and uninitialised data are located in separate segments and initialisation of these segments is automatically carried out at run time.


The linker combines object modules created with the compiler and/or the assembler to create the final code that will run on your target system. It carries out the following functions:

  • scans each module to collect segment and variable information
  • arranges and positions segments at appropriate memory locations to suit the memory organisation of the target system and any specific location information supplied by the user
  • finalises the values of all variables and calculates the results of any incomplete expressions
  • extracts and relocates the code from each module to produce the final target program

The target program can be produced in a number of different formats including Motorola S2 and S3 records, HP/Microtec IEEE695 format or as a binary rom image. (A utility is provided for users who wish to divide the binary rom image into separate files suitable for 8 bit wide memory chips).

An optional link map will show the final location and sizes of all segments and the values of all global variables.


The compiler and assembler can both optionally generate full source level debug information. The linker updates these debug records to take account of the final location of the target program and outputs them to the target program file in IEEE695 format. Debuggers and in-circuit emulators that support this popular format can then use it to facilitate full source level debugging.

We have tested our software with the latest Noral Micrologics debugging environment and can confirm compatibility with their systems.


Instead of being used to create a final target program, the object modules produced by the compiler and assembler can be integrated into a library. The library manager performs the tasks of:

  • combining object modules into a library
  • adding modules to an existing library
  • removing or extracting modules from an existing library
  • listing the contents of a library


The MAKE utility simplifies the task of keeping object files, libraries and target programs up-to-date. It detects if any source or dependency files have changed since the last build and runs the appropriate tools (compiler, assembler, linker or library manager) to rebuild out-of-date files. It supports many advanced features including macros, inference rules, conditional inclusion and other preprocessing directives and in-line files with automatic temporary file creation.

Although the Embedded Development Studio uses its own integrated routines to keep projects up-to-date, this stand-alone MAKE utility can be used to build projects from the command-line or from within another application. The Embedded Development Studio will automatically create a makefile which is fully compatible with this stand-alone MAKE utility.

Support Library Routines:

abs( ) exit( ) gets( ) log10( )* setvect( ) strncat( )
acos( )* exp( ) getvect( ) log10l( )* sin( ) strncmp( )
acosl( )* expl( ) isalnum( ) malloc( ) sinl( ) strncpy( )
asin( )* fabs( ) isalpha( ) memchr( ) sinh( ) strpbrk( )
asinl( )* fabsl( ) isascii( ) memcmp( ) sinhl( ) strrchr( )
atan( )* _fcvt( ) iscntrl( ) memcpy( ) sprintf( ) strspn( )
atanl( )* ferroe( ) isdigit( ) memmove( ) sqrt( ) strstr( )
atoi( ) fgetc( ) isgraph( ) memset( ) sqrtl( ) tan( )
atol( ) fgets( ) islower( ) pow( ) srand( ) tanl( )
atoff( ) fileno( ) isprint( ) powl( ) sscanf( ) tanh( )
atolf( ) floor( ) ispuntc( ) printf( ) strcat( ) tanhl( )*
clearerr( ) floorl( ) isspace( ) putc( ) scanf( ) time( )
ceil( ) fprintf( ) isupper( ) putchar( ) strchr( ) toascii( )
ceill( ) free( ) isxdigit( ) puts( ) strcmp( ) tolower( )
cos( ) fscanf( ) labs( ) rand( ) strcpy( ) toupper( )
cosl( )* getc( ) log( ) sbrk( ) strcspn( ) ungetc( )
cosh( )* getchar( ) logl( ) scanf( ) strlen( ) ungetch( )
coshl( ) getche( )        

* Support with 68881 co-processor only


IBM compatible PC with an Intel 80486 or above running Windows 9x, Windows 2000 or Windows NT 4.0.

Go to M68000 C-compiler order page

Shopping Cart more
0 items
What's New? more
Flowcode 7 "Misc Pack A" Feature Pack
Flowcode 7 "Misc Pack A" Feature Pack
Specials more
USB Power Regulator Board, 3.3V & 5V Ref., 0.1" Pitch (USB Reg)
USB Power Regulator Board, 3.3V & 5V Ref., 0.1" Pitch (USB Reg)
01. LCD 4-mux, 7 digits x 14 segments, progress bar, arrows
02. PIC16F628A-I/P Microcontroller, 18 DIP, 20 MHz
03. Atmel ATtiny2313-20PU AVR Microcontroller, 20 DIP, 20 MHz
04. LCD 4-mux, 7.1 digits x 7 segments, progress bar, arrows
05. USB-to-Serial Cable: 3.3V TTL, Audio Plug Type, Reverse RX/TX
06. 2x10 (20-pin) 0.1" pitch IDC Connector Flat Ribbon Cable, 15cm
07. USB Universal In-Circuit Programmer PIC AVR ARM MSP 8051 EEPROM
08. ARM JTAG Debugger & Programmer, parallel port
09. Power Supply 3-12V DC, U.S. plug, 6 connection tips
10. Power Supply 3-12V DC, US/UK/Euro/AU Plugs, 100-240VAC
Reviews more
Microchip PIC Prototyping PCB with RS232 and ICSP, 40-pin, 20MHz
Can't beat the price for an assembled proto board ready to r ..
5 of 5 Stars!
  Thursday 20 September, 2018   List of all our Products

Copyright © 2003-2017 MicroController Pros LLC
Powered by osCommerce