Using __based in 32-bit Compilations

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