Based addressing is useful when you need precise control over the segment in which objects are allocated (static and dynamic based data).
The only form of based addressing acceptable in 32-bit compilations is “based on a pointer” that defines a type that contains a 32-bit displacement to a 32-bit base or based on void.
Syntax
based-range-modifier :
__based ( base-expression )
base-expression :
based-variable
based-abstract-declarator
segment-name
segment-cast
based-variable :
identifier
based-abstract-declarator :
abstract-declarator
base-type :
type-name