Built-in Routines
mikroPascal PRO for FT90x compiler provides a set of useful built-in utility functions. Built-in functions do not have any special requirements. You can use them in any part of your project.
The Delay_us
and Delay_ms
routines are implemented as “inline”; i.e. code is generated in the place of a call, so the call doesn’t count against the nested call limit.
The Vdelay_ms
, Vdelay_advanced_ms
, Delay_Cyc
, Delay_Cyc_Long
, Get_Fosc_kHz
and Get_Fosc_Per_Cyc
are actual Pascal routines. Their sources can be found in the __Lib_Delays.mpas
file located in the uses
folder of the compiler.
- MEMCPY_B
- MEMCPY_S
- MEMCPY_L
- MEMSET_B
- MEMSET_S
- MEMSET_L
- STREAMIN_B
- STREAMIN_S
- STREAMIN_L
- STREAMINI_B
- STREAMINI_S
- STREAMINI_L
- STREAMOUT_B
- STREAMOUT_S
- STREAMOUT_L
- STREAMOUTI_B
- STREAMOUTI_S
- STREAMOUTI_L
- STRCMP_B
- STRCMP_S
- STRCMP_L
- STPCPY_B
- STPCPY_S
- STPCPY_L
- STRLEN_B
- STRLEN_S
- STRLEN_L
Lo
Prototype |
function Lo(Argument: byte..real): byte; |
---|---|
Description |
Function returns the lowest byte of This is an “inline” routine; code is generated in the place of the call, so the call doesn’t count against the nested call limit. |
Parameters |
|
Returns |
Lowest 8 bits (byte) of |
Requires |
Arguments must be variable of scalar type (i.e. Arithmetic Types and Pointers). |
Example |
d := 0x12345678; tmp := Lo(d); // Equals 0x78 Lo(d) := 0xAA; // d equals 0x123456AA |
Notes |
None. |
Hi
Prototype |
function Hi(Argument: word..real): byte; |
---|---|
Description |
Function returns next to the lowest byte of This is an “inline” routine; code is generated in the place of the call, so the call doesn’t count against the nested call limit. |
Parameters |
|
Returns |
Returns next to the lowest byte of |
Requires |
Arguments must be variable of scalar type (i.e. Arithmetic Types and Pointers). |
Example |
d := 0x12345678; tmp := Hi(d); // Equals 0x56 Hi(d) := 0xAA; // d equals 0x1234AA78 |
Notes |
None. |
Higher
Prototype |
function Higher(Argument : dword..real) : byte; |
---|---|
Description |
Function returns next to the highest byte of This is an “inline” routine; code is generated in the place of the call, so the call doesn’t count against the nested call limit. |
Parameters |
|
Returns |
Returns next to the highest byte of |
Requires |
Arguments must be variable of scalar type (i.e. Arithmetic Types and Pointers). |
Example |
d := 0x12345678; tmp := Higher(d); // Equals 0x34 Higher(d) := 0xAA; // d equals 0x12AA5678 |
Notes |
None. |
Highest
Prototype |
function Highest(Argument : dword..real) : byte; |
---|---|
Description |
Function returns the highest byte of This is an “inline” routine; code is generated in the place of the call, so the call doesn’t count against the nested call limit. |
Parameters |
|
Returns |
Returns the highest byte of |
Requires |
Arguments must be variable of scalar type (i.e. Arithmetic Types and Pointers). |
Example |
d := 0x12345678; tmp := Highest(d); // Equals 0x12 Highest(d) := 0xAA; // d equals 0xAA345678 |
Notes |
None. |
LoWord
Prototype |
function LoWord(Argument : word..real) : word; |
---|---|
Description |
The function returns low word of |
Parameters |
|
Returns |
Low word of |
Requires |
Nothing. |
Example |
d := 0x12345678; tmp := LoWord(d); // Equals 0x5678 LoWord(d) := 0xAAAA; // d equals 0x1234AAAA |
Notes |
None. |
HiWord
Prototype |
function HiWord(Argument : dword..real) : word; |
---|---|
Description |
The function returns high word of |
Parameters |
|
Returns |
High word of |
Requires |
Nothing. |
Example |
d := 0x12345678; tmp := HiWord(d); // Equals 0x1234 HiWord(d) := 0xAAAA; // d equals 0xAAAA5678 |
Notes |
None. |
HigherWord
Prototype |
function HigherWord(Argument : uint64..extended) : word; |
---|---|
Description |
The function returns higher word of |
Parameters |
|
Returns |
Higher word of |
Requires |
Nothing. |
Example |
d := 0x1122334455667788; tmp := HigherWord(d); // Equals 0x33344 HigherWord(d) := 0xAAAA; // d equals 0x1122AAAA55667788 |
Notes |
None. |
HighestWord
Prototype |
function HighestWord(Argument : uint64..extended) : word; |
---|---|
Description |
The function returns highest word of |
Parameters |
|
Returns |
Highest word of |
Requires |
Nothing. |
Example |
d := 0x1122334455667788; tmp := HighestWord(d); // Equals 0x1122 HighestWord(d) := 0xAAAA; // d equals 0xAAAA334455667788 |
Notes |
None. |
LoDword
Prototype |
function LoDword(Argument : dword..extended) : dword; |
---|---|
Description |
The function returns low dword of |
Parameters |
|
Returns |
Low dword of |
Requires |
Nothing. |
Example |
d := 0x1122334455667788; tmp := LoDword(d); // Equals 0x55667788 LoDword(d) := 0xAAAAAAAA; // d equals 0x11223344AAAAAAAA |
Notes |
None. |
HiDword
Prototype |
function HiDword(Argument : uint64..extended) : dword; |
---|---|
Description |
The function returns high dword of |
Parameters |
|
Returns |
High dword of |
Requires |
Nothing. |
Example |
d := 0x1122334455667788; tmp := HiDword(d); // Equals 0x11223344 HiDword(d) := 0xAAAAAAAA; // d equals 0xAAAAAAAA55667788 |
Notes |
None. |
Inc
Prototype |
procedure Inc(var par : longint); |
---|---|
Description |
Increases parameter |
Parameters |
|
Returns |
Nothing. |
Requires |
Nothing. |
Example |
p := 4; Inc(p); // p is now 5 |
Notes |
None. |
Dec
Prototype |
procedure Dec(var par : longint); |
---|---|
Description |
Decreases parameter |
Parameters |
|
Returns |
Nothing. |
Requires |
Nothing. |
Example |
p := 4; Dec(p); // p is now 3 |
Notes |
None. |
Chr
Prototype |
function Chr(code_ : byte) : char; |
---|---|
Description |
Function returns a character associated with the specified character This is an “inline” routine; the code is generated in the place of the call. |
Parameters |
|
Returns |
Returns a character associated with the specified character |
Requires |
Nothing. |
Example |
c := Chr(10); // returns the linefeed character |
Notes |
None. |
Ord
Prototype |
function Ord(const character : char) : byte; |
---|---|
Description |
Function returns ASCII code of the This is an “inline” routine; the code is generated in the place of the call. |
Parameters |
|
Returns |
ASCII code of the |
Requires |
Nothing. |
Example |
c := Ord('A'); // returns 65 |
Notes |
None. |
SetBit
Prototype |
procedure SetBit(var register_ : word; rbit : byte); |
---|---|
Description |
Function sets the bit This is an “inline” routine; the code is generated in the place of the call. |
Parameters |
|
Returns |
Nothing. |
Requires |
Nothing. |
Example |
SetBit(GPIO_PORT_08_15, 2); // Set GPIO_PORT_08_15.B2 |
Notes |
None. |
ClearBit
Prototype |
procedure ClearBit(var register_ : byte; rbit : byte); |
---|---|
Description |
Function clears the bit This is an “inline” routine; code is generated in the place of the call, so the call doesn’t count against the nested call limit. |
Parameters |
|
Returns |
Nothing. |
Requires |
Nothing. |
Example |
ClearBit(GPIO_PORT_16_23, 7); // Clear GPIO_PORT_16_23.B7 |
Notes |
None. |
TestBit
Prototype |
function TestBit(register_, rbit : byte) : byte; |
---|---|
Description |
Function tests if the bit This is an “inline” routine; code is generated in the place of the call, so the call doesn’t count against the nested call limit. |
Parameters |
|
Returns |
If the bit is set, returns 1, otherwise returns 0. |
Requires |
Nothing. |
Example |
flag := TestBit(GPIO_PORT_32_39, 2); // 1 if GPIO_PORT_32_39.B2 is set, otherwise 0 |
Notes |
None. |
Delay_us
Prototype |
procedure Delay_us(Time_In_us: dword); |
---|---|
Description |
Creates a software delay in duration of This is an “inline” routine; the code is generated in the place of the call, so the call doesn’t count against the nested call limit. |
Parameters |
|
Returns |
Nothing. |
Requires |
Nothing. |
Example |
Delay_us(10); // Ten microseconds pause |
Notes |
None. |
Delay_ms
Prototype |
procedure Delay_ms(Time_In_ms: dword); |
---|---|
Description |
Creates a software delay in duration of This is an “inline” routine; the code is generated in the place of the call, so the call doesn’t count against the nested call limit. |
Parameters |
|
Returns |
Nothing. |
Requires |
Nothing. |
Example |
Delay_ms(1000); // One second pause |
Notes |
For generating delays with variable as input parameter use the Vdelay_ms routine. |
VDelay_ms
Prototype |
procedure VDelay_ms(Time_ms : word); |
---|---|
Description |
Creates a software delay in duration of |
Parameters |
|
Returns |
Nothing. |
Requires |
Nothing. |
Example |
var pause : word; ... VDelay_ms(pause); // ~ one second pause |
Notes |
None. |
VDelay_advanced_ms
Prototype |
procedure VDelay_advanced_ms(time_ms, Current_Fosc_kHz: word); |
---|---|
Description |
Creates a software delay in duration of Note that |
Parameters |
|
Returns |
Nothing. |
Requires |
Nothing. |
Example |
pause := 1000; fosc := 10000; VDelay_advanced_ms(pause, fosc); // Generates approximately one second pause, for a oscillator frequency of 10 MHz |
Notes |
None. |
Delay_Cyc
Prototype |
procedure Delay_Cyc(cycles_div_by_10 : dword); |
---|---|
Description |
Creates a delay based on MCU clock. |
Parameters |
|
Returns |
Nothing. |
Requires |
Nothing. |
Example |
Delay_Cyc(10); // 1 cycles pause |
Notes |
|
Delay_Cyc_Long
Prototype |
procedure Delay_Cyc_Long(CycNo : word); |
---|---|
Description |
Creates a delay based on MCU clock. Delay lasts for |
Parameters |
|
Returns |
Nothing. |
Requires |
Nothing. |
Example |
Delay_Cyc_Long(16384); // 16384 cycles pause |
Notes |
|
Clock_kHz
Prototype |
function Clock_kHz() : longint; |
---|---|
Description |
Returns device clock in kHz, rounded to the nearest integer. This is an “inline” routine; the code is generated in the place of the call. |
Parameters |
None. |
Returns |
Device clock in kHz, rounded to the nearest integer. |
Requires |
Nothing. |
Example |
clk := Clock_kHz(); |
Notes |
None. |
Clock_MHz
Prototype |
function Clock_MHz() : word; |
---|---|
Description |
Returns device clock in MHz, rounded to the nearest integer. This is an “inline” routine; the code is generated in the place of the call. |
Parameters |
None. |
Returns |
Device clock in MHz, rounded to the nearest integer. |
Requires |
Nothing. |
Example |
clk := Clock_MHz(); |
Notes |
None. |
Get_Fosc_kHz
Prototype |
function Get_Fosc_kHz() : longint; |
---|---|
Description |
Function returns device clock in kHz, rounded to the nearest integer. |
Parameters |
None. |
Returns |
Device clock in kHz. |
Requires |
Nothing. |
Example |
clk := Get_Fosc_kHz(); |
Notes |
|
Get_Peripheral_Clock_kHz
Prototype |
functionGet_Peripheral_Clock_kHz() : longint; |
---|---|
Description |
Function returns peripheral clock in kHz, rounded to the nearest integer. |
Parameters |
None. |
Returns |
Periperal clock in kHz, rounded to the nearest integer. |
Requires |
Nothing. |
Example |
clk := Get_Peripheral_Clock_kHz(); |
Notes |
None. |
Get_Fosc_Per_Cyc
Prototype |
function Get_Fosc_Per_Cyc() : word; |
---|---|
Description |
Function returns device's clock per cycle, rounded to the nearest integer. Note that |
Parameters |
None. |
Returns |
Device's clock per cycle, rounded to the nearest integer. |
Requires |
Nothing. |
Example |
var clk_per_cyc : word; ... clk_per_cyc := Get_Fosc_Per_Cyc(); |
Notes |
None. |
SystemReset
Prototype |
procedure SystemReset(); |
---|---|
Description |
This function will perform a software reset of the entire device. The processor and all peripherals are reset and all device registers will return to their default values
|
Parameters |
None. |
Returns |
Nothing. |
Requires |
Nothing. |
Example |
SystemReset(); |
Notes |
None. |
DisableContextSaving
Prototype |
procedure DisableContextSaving(); |
---|---|
Description |
Use the |
Parameters |
None. |
Returns |
Nothing. |
Requires |
This routine must be called from main. |
Example |
DisableContextSaving(); // instruct the compiler not to automatically perform context-switching |
Notes |
None. |
SetFuncCall
Prototype |
procedure SetFuncCall(FuncName: string); |
---|---|
Description |
If the linker encounters an indirect function call (by a pointer to function), it assumes that any routine whose address was taken anywhere in the program can be called at that point if it's prototype matches the pointer declaration. Use the SetFuncCall directive within routine body to instruct the linker which routines can be called indirectly from that routine :
Routines specified in the Thus, placing |
Parameters |
|
Returns |
Nothing. |
Requires |
Nothing. |
Example: |
procedure first(p, q: byte); begin ... SetFuncCall(second); // let linker know that we will call the routine 'second' ... end |
Notes |
The |
SetOrg
Prototype |
procedure SetOrg(RoutineName: string; address: longint); |
---|---|
Description |
Use the |
Parameters |
|
Returns |
Nothing. |
Requires |
This routine must be called from main. |
Example |
SetOrg(UART1_Write, 0x1234); |
Notes |
None. |
GetDateTime
Prototype |
function GetDateTime() : string; |
---|---|
Description |
Use the |
Parameters |
None. |
Returns |
String with date and time when this routine is compiled. |
Requires |
Nothing. |
Example |
str := GetDateTime(); |
Notes |
None. |
DoGetDateTime
Prototype |
function DoGetDateTime() : string; |
---|---|
Description |
Use the |
Parameters |
None. |
Returns |
String with date and time when this routine is compiled. |
Requires |
Nothing. |
Example |
str := DoGetDateTime(); |
Notes |
None. |
GetVersion
Prototype |
function GetVersion() : string; |
---|---|
Description |
Use the |
Parameters |
None. |
Returns |
String with current compiler version. |
Requires |
Nothing. |
Example |
str := GetVersion(); // for example, str will take the value of '8.2.1.6'' |
Notes |
None. |
DoGetVersion
Prototype |
function DoGetVersion() : string; |
---|---|
Description |
Use the |
Parameters |
None. |
Returns |
String with current compiler version. |
Requires |
Nothing. |
Example |
str := DoGetVersion(); // for example, str will take the value of '8.2.1.6'' |
Notes |
None. |
New
Prototype |
procedure New(var Ptr : pointer); |
---|---|
Description |
Allocates a block of memory from the memory Heap, taking care of the alignment. It is recommended to use this routine instead of GetMem. |
Parameters |
|
Returns |
Returns a pointer to the memory block allocated by the function; Otherwise 0 (no free blocks of memory are large enough). |
Requires |
Nothing. |
Example |
|
Notes |
None. |
Dispose
Prototype |
procedure Dispose(var Ptr : pointer); |
---|---|
Description |
Disposes a block of memory from the memory Heap, referenced by Ptr and returns its memory to the Heap. |
Parameters |
|
Returns | |
Requires |
Nothing. |
Example |
|
Notes |
After calling this routine, the value of Ptr is nil (0) (not assigned pointer). |
MEMCPY_B
Prototype |
function MEMCPY_B(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function copies The behavior of the MEMCPY instruction is exactly the same as the standard C memcpy() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
The function returns address of the object pointed to by |
Requires |
Nothing. |
Notes |
Use this function for all object alignments. |
MEMCPY_S
Prototype |
function MEMCPY_S(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function copies The behavior of the MEMCPY instruction is exactly the same as the standard C memcpy() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 2. |
Notes |
Use this function when function parameters have alignment 2. |
MEMCPY_L
Prototype |
function MEMCPY_L(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function copies The behavior of the MEMCPY instruction is exactly the same as the standard C memcpy() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 4. |
Notes |
Use this function when function parameters have alignment 4. |
MEMSET_B
Prototype |
function MEMSET_B(s : ^byte; c : dword; n : dword) : ^byte; |
---|---|
Description |
Function copies the value of the byte The behavior of the MEMSET instruction is exactly the same as the standard C memsety() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
The function returns address of the object pointed to by |
Requires |
Nothing. |
Notes |
None. |
MEMSET_S
Prototype |
function MEMSET_S(s : ^byte; c : dword; n : dword) : ^byte; |
---|---|
Description |
Function copies the value of the byte The behavior of the MEMSET instruction is exactly the same as the standard C memset() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 2. |
Notes |
Use this function when function parameters have alignment 2. |
MEMSET_L
Prototype |
function MEMSET_L(s : ^byte; c : dword; n : dword) : ^byte; |
---|---|
Description |
Function copies the value of the byte The behavior of the MEMSET instruction is exactly the same as the standard C memset() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 4. |
Notes |
Use this function when function parameters have alignment 4. |
STREAMIN_B
Prototype |
function STREAMIN_B(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function moves |
Returns |
The function returns address of the object pointed to by |
Requires |
Nothing. |
Notes |
None. |
STREAMIN_S
Prototype |
function STREAMIN_S(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function moves |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 2. |
Notes |
Use this function when function parameters have alignment 2. |
STREAMIN_L
Prototype |
function STREAMIN_L(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function moves |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 4. |
Notes |
Use this function when function parameters have alignment 4. |
STREAMINI_B
Prototype |
function STREAMINI_B(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function moves |
Returns |
The function returns address of the object pointed to by |
Requires |
Nothing. |
Notes |
None. |
STREAMINI_S
Prototype |
function STREAMINI_S(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function moves |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 2. |
Notes |
Use this function when function parameters have alignment 2. |
STREAMINI_L
Prototype |
function STREAMINI_L(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function moves |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 4. |
Notes |
Use this function when function parameters have alignment 4. |
STREAMOUT_B
Prototype |
function STREAMOUT_B(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function moves |
Returns |
The function returns address of the object pointed to by |
Requires |
Nothing. |
Notes |
None. |
STREAMOUT_S
Prototype |
function STREAMOUT_S(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function moves |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 2. |
Notes |
Use this function when function parameters have alignment 2. |
STREAMOUT_L
Prototype |
function STREAMOUT_L(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function moves |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 4. |
Notes |
Use this function when function parameters have alignment 4. |
STREAMOUTI_B
Prototype |
function STREAMOUTI_B(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function moves |
Returns |
The function returns address of the object pointed to by |
Requires |
Nothing. |
Notes |
None. |
STREAMOUTI_S
Prototype |
function STREAMOUTI_S(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function moves |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 2. |
Notes |
Use this function when function parameters have alignment 2. |
STREAMOUTI_L
Prototype |
function STREAMOUTI_L(s1 : ^byte; s2 : ^byte; nn : dword) : ^byte; |
---|---|
Description |
Function moves |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 4. |
Notes |
Use this function when function parameters have alignment 4. |
STRCMP_B
Prototype |
function STRCMP_B(var s1 : string; var s2 : string) : longint; |
---|---|
Description |
Function compares strings The behavior of the STRCMP_B instruction is exactly the same as the standard C strcmp() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
The function returns zero if the strings are equal, or returns a difference between the first differing characters (in a left-to-right evaluation). |
Requires |
Nothing. |
Notes |
None. |
STRCMP_S
Prototype |
function STRCMP_S(var s1 : string; var s2 : string) : longint; |
---|---|
Description |
Function compares strings The behavior of the STRCMP_B instruction is exactly the same as the standard C strcmp() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
The function returns zero if the strings are equal, or returns a difference between the first differing characters (in a left-to-right evaluation). |
Requires |
Function parameters must have alignment 2. |
Notes |
Use this function when function parameters have alignment 2. |
STRCMP_L
Prototype |
function STRCMP_L(var s1 : string; var s2 : string) : longint; |
---|---|
Description |
Function compares strings The behavior of the STRCMP_B instruction is exactly the same as the standard C strcmp() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
The function returns zero if the strings are equal, or returns a difference between the first differing characters (in a left-to-right evaluation). |
Requires |
Function parameters must have alignment 4. |
Notes |
Use this function when function parameters have alignment 4. |
STPCPY_B
Prototype |
procedure STPCPY_B(var s1 : string; var s2 : string) : string; |
---|---|
Description |
Function copies the string The behavior of the STPCPY_B instruction is exactly the same as the standard C stpcpy() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
The function returns address of the object pointed to by |
Requires |
Nothing. |
Notes |
None. |
STPCPY_S
Prototype |
procedure STPCPY_S(var s1 : string; var s2 : string) : string; |
---|---|
Description |
Function copies the string The behavior of the STPCPY_B instruction is exactly the same as the standard C stpcpy() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 2. |
Notes |
Use this function when function parameters have alignment 2. |
STPCPY_L
Prototype |
procedure STPCPY_L(var s1 : string; var s2 : string) : string; |
---|---|
Description |
Function copies the string The behavior of the STPCPY_L instruction is exactly the same as the standard C stpcpy() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
The function returns address of the object pointed to by |
Requires |
Function parameters must have alignment 4. |
Notes |
Use this function when function parameters have alignment 4. |
STRLEN_B
Prototype |
function STRLEN_B(var s : string) : dword; |
---|---|
Description |
Function returns the length of the string The behavior of the STRLEN_B instruction is exactly the same as the standard C strlen() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
Function returns the length of the string. |
Requires |
Nothing. |
Notes |
None. |
STRLEN_S
Prototype |
function STRLEN_S(var s : string) : dword; |
---|---|
Description |
Function returns the length of the string The behavior of the STRLEN_S instruction is exactly the same as the standard C strlen() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
Function returns the length of the string. |
Requires |
Function parameters must have alignment 2. |
Notes |
Use this function when function parameters have alignment 2. |
STRLEN_L
Prototype |
function STRLEN_L(var s : string) : dword; |
---|---|
Description |
Function returns the length of the string The behavior of the STRLEN_L instruction is exactly the same as the standard C strlen() function in ISO/IEC 9899:1990 ("ISO C90"). |
Returns |
Function returns the length of the string. |
Requires |
Function parameters must have alignment 4. |
Notes |
Use this function when function parameters have alignment 4. |
What do you think about this topic ? Send us feedback!