Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
50
Добавлен:
14.04.2015
Размер:
1.37 Mб
Скачать

Keil Software — Cx51 Compiler User’s Guide

209

 

 

Chapter 8. Library Reference

The Cx51 run-time library provides you with more than 100 predefined functions and macros to use in your 8051 C programs. This library makes embedded software development easier by providing you with routines that perform common programming tasks such as string and buffer manipulation, data conversion, and floating-point math operations.

Typically, the routines in this library conform to the ANSI C Standard. However, some functions differ slightly in order to take advantage of the features found in the 8051 architecture. For example, the function isdigit returns a bit value as opposed to an int. Where possible, function return types and argument types are adjusted to use the smallest possible data type. In addition, unsigned data types are favored over signed types. These alterations to the standard library provide a maximum of performance while also reducing program size.

All routines in this library are implemented to be independent of and to function using any register bank.

Intrinsic Routines

The Cx51 compiler supports a number of intrinsic library functions. Non-intrinsic functions generate ACALL or LCALL instructions to perform the library routine. Intrinsic functions generate in-line code to perform the library routine. The generated in-line code is much faster and more efficient than a called routine would be. The following functions are available in intrinsic form:

_crol_

_iror_

_nop_

_cror_

_lrol_

_testbit_

_irol_

_lror_

 

These routines are described in detail in the following sections.

8

210

Chapter 8. Library Reference

 

 

Library Files

The Cx51 library includes six different compile-time libraries which are optimized for various functional requirements. These libraries support most of the ANSI C function calls.

Library File

Description

C51S.LIB

Small model library without floating-point arithmetic

C51FPS.LIB

Small model floating-point arithmetic library

C51C.LIB

Compact model library without floating-point arithmetic

C51FPC.LIB

Compact model floating-point arithmetic library

C51L.LIB

Large model library without floating-point arithmetic

C51FPL.LIB

Large model floating-point arithmetic library

80C751.LIB

Library for use with the Signetics 8xC751 and derivatives.

The Philips 80C51MX, Dallas 390 contiguous mode and variable code banking requires a different set of Cx51 run-time libraries. The LX51 linker/locater automatically adds the correct library set to your project.

Several library modules are provided in source code form. These routines are used to perform low-level hardware-related I/O for the stream I/O functions. You can find the source for these routines in the LIB directory. You may modify these source files and substitute them for the library routines. By using these routines, you can quickly adapt the library to perform (using any hardware I/O device available in your target) stream I/O. Refer to “Stream Input and Output” on page 224 for more information.

8

Соседние файлы в папке HLP