SEGMENT
Definuje segment programu označovaný jako název s atributy segmentů.
Syntaxe
name SEGMENT ⟦READONLY⟧ ⟦align⟧ ⟦combine⟧ ⟦use⟧ ⟦characteristics⟧ ALIAS(string) ⟦'class'⟧
výroky
name ENDS
Parametry
align
Rozsah adres paměti, ze kterých je možné vybrat počáteční adresu segmentu. Typ zarovnání může být některý z následujících typů:
Zarovnat typ | Počáteční adresa |
---|---|
BAJT | Další dostupná bajtová adresa |
WORD | Další dostupná adresa slova (2 bajty na slovo) |
DWORD | Další dostupná dvojitá wordová adresa (4 bajty na dvojité slovo). |
PARA | Další dostupná adresa odstavce (16 bajtů na odstavec). |
PAGE | Další dostupná adresa stránky (256 bajtů na stránku) |
ALIGN(n) | Další dostupná n. bajtová adresa. Další informace najdete v části Poznámky. |
Pokud tento parametr není zadaný, použije se parametr PARA ve výchozím nastavení.
kombinovat (pouze 32bitová verze MASM)
PUBLIC, STACK, COMMON, MEMORY, ATaddress, PRIVATE
use (pouze 32bitová verze MASM)
USE16, USE32, FLAT
charakteristiky
INFORMACE, ČTENÍ, ZÁPIS, SPUŠTĚNÍ, SDÍLENÉ, NOPAGE, NOCACHE a ZAHOZENÍ
Jsou podporovány pouze pro COFF a odpovídají charakteristikám oddílu COFF podobného názvu (například SDÍLENÝ odpovídá IMAGE_SCN_MEM_SHARED). Funkce READ nastaví příznak IMAGE_SCN_MEM_READ. Zastaralý příznak READONLY způsobil, že oddíl vymaže příznak IMG_SCN_MEM_WRITE. Pokud jsou nastaveny nějaké vlastnosti , výchozí charakteristiky se nepoužívají a platí pouze příznaky určené programátorem.
string
Tento řetězec se používá jako název oddílu v generovaném objektu COFF. Vytvoří více oddílů se stejným externím názvem s jedinečnými názvy segmentů MASM.
Nepodporuje se v /omf.
class
Určuje, jak se mají segmenty kombinovat a uspořádat v sestaveném souboru. Typické hodnoty jsou, 'DATA'
, 'CODE'
a 'CONST'
'STACK'
Poznámky
Pro ALIGN(n)
, n může být libovolný výkon 2 od 1 do 8192; nepodporuje se s /omf.