Name
Parent
Visibility
Description
|
Espace d'adressage Les deux valeurs msConstant et msTrueConst représentent, comme leur nom l'indique, des constantes. Certaines opérations n'acceptent pas les constantes en paramètre, par exemple la destination d'un MOV ne peut pas être une constante. De même, msVariable indique une TSepiVariable, qui peut également être une constante (adressée) : la plupart des opérations n'acceptant pas les constantes n'acceptent pas non plus une TSepiVariable constante. La valeur msZero est parfois acceptée par des instructions n'acceptant pas de constantes, bien que 0 soit manifestement une constante. C'est le cas par exemple de l'affectation de chaîne, qui n'accepte que la constante nulle (qui vaut la chaîne vide ''). La valeur msZero en tant que valeur de retour d'un CALL est interprétée plutôt en tant que msNoResult, autrement dit cela demande que le résultat ne soit pas stocké. C'est également le cas de l'argument ExceptObject d'un TRYE (try-except). - msZero : 0, nil, '', etc. selon le type de variable - msConstant : la variable est une constante, stockée juste derrière - msLocalsBase : variable locale, sans offset - msLocalsByte : variable locale, offset d'un octet - msLocalsWord : variable locale, offset de deux octets - msParamsBase : paramètre, sans offset - msParamsByte : paramètre, offset d'un octet - msParamsWord : paramètre, offset de deux octets - msTrueConst : référence à une TSepiConstant - msVariable : référence à une TSepiVariable |
Source code
|
TSepiMemorySpace = ( msZero , msConstant , msLocalsBase , msLocalsByte , msLocalsWord , msParamsBase , msParamsByte , msParamsWord , msTrueConst , msVariable ) ; |
|