Keil™, An ARM® Company

Discussion Forum

NCODE&FCODE definitions

Next Thread | Thread List | Previous Thread Start a Thread | Settings

DetailsMessage
Read-Only
Author
A B
Posted
3-Jul-2006 03:32
Toolset
C166
New! NCODE&FCODE definitions
Hello ALL!

It would be very nice to get an answer...

on the link
http://www.keil.com/support/docs/1134.htm
for the large memory model is stated:
NCODE (0X100000-0X10FFFF),
..........
FCODE (0X0-0XDFFF, 0X100000-0X10FFFF), ...)

My question is: has it any sense to define
NCODE for the large memory model and if yes,
please give me some info how it works.

THANK YOU VERY MUCH!

With best regards,
S.
Read-Only
Author
A B
Posted
3-Jul-2006 05:17
Toolset
C166
New! RE: NCODE&FCODE definitions
Is it only to speed up the code execution?
Read-Only
Author
Chris Wunderlich
Posted
3-Jul-2006 08:39
Toolset
C166
New! RE: NCODE&FCODE definitions
The memory model determines the default memory type to use for variables and functions.

NCODE assumes that all calls are within a single segment so the code is generally smaller. It allows different types of CALLx instructions that can be more efficient. All near functions are placed in the NCODE group.

When you use far functions the code always uses CALLS instructions. This allows a call past the 64kbyte boundary.

Does this help you?
Read-Only
Author
Reinhard Keil
Posted
3-Jul-2006 10:06
Toolset
C166
New! RE: NCODE&FCODE definitions
There should be no memory class NCODE in a LARGE memory model project. Also it makes no sense to use 'near' code, since the only place where you can make NEAR calls safely are within the same module (which will be located in a single 64KB memory block anyway).

Reinhard
Read-Only
Author
A B
Posted
4-Jul-2006 08:26
Toolset
C166
New! RE: NCODE&FCODE definitions
Thanks,

one should it understand :
on this link should be no memory class NCODE for a LARGE memory model project!

Regards,
S.

Next Thread | Thread List | Previous Thread Start a Thread | Settings