Udostępnij za pośrednictwem


SEGMENT

Definiuje segment programu o nazwie name o atrybutach segmentu

Składnia

name SEGMENT ⟦READONLY⟧ ⟦align⟧ ⟦combineuse⟧ ⟦charakterystykiALIAS(ciąg)'class'⟧
Instrukcji
name ENDS

Parametry

align
Zakres adresów pamięci, z których można wybrać adres początkowy dla segmentu. Typ wyrównania może być jednym z następujących elementów:

Wyrównaj typ Adres początkowy
BAJT Następny dostępny adres bajtowy.
WORD Następny dostępny adres wyrazu (2 bajty na wyraz).
DWORD Następny dostępny podwójny adres wyrazu (4 bajty na podwójne słowo).
PARA Następny dostępny adres akapitu (16 bajtów na akapit).
PAGE Następny dostępny adres strony (256 bajtów na stronę).
ALIGN(n) Następny dostępny nadres bajtowy. Aby uzyskać więcej informacji, zobacz sekcję Uwagi.

Jeśli ten parametr nie zostanie określony, parametr PARA jest używany domyślnie.

łączenie (tylko 32-bitowe rozwiązanie MASM)
PUBLIC, STACK, COMMON, MEMORY, ATADDRESS, PRIVATE

use (tylko 32-bitowe rozwiązanie MASM)
USE16, USE32, FLAT

charakterystyka
INFO, READ, WRITE, EXECUTE, SHARED, NOPAGE, NOCACHE i DISCARD

Są one obsługiwane tylko dla COFF i odpowiadają charakterystykom sekcji COFF podobnej nazwy (na przykład SHARED odpowiada IMAGE_SCN_MEM_SHARED). Funkcja READ ustawia flagę IMAGE_SCN_MEM_READ. Przestarzała flaga READONLY spowodowała, że sekcja wyczyściła flagę IMG_SCN_MEM_WRITE. Jeśli ustawiono jakiekolwiek właściwości , domyślne cechy nie są używane i obowiązują tylko flagi określone przez programistę.

string
Ten ciąg jest używany jako nazwa sekcji w emitowany obiekt COFF. Tworzy wiele sekcji o tej samej nazwie zewnętrznej z różnymi nazwami segmentów MASM.

Nieobsługiwane za pomocą /omf.

class
Wyznacza sposób łączenia i porządkowania segmentów w skompletowanym pliku. Typowe wartości to, 'DATA', 'CODE''CONST' i'STACK'

Uwagi

W przypadku ALIGN(n)parametru n może być dowolną mocą 2 z zakresu od 1 do 8192; nie jest obsługiwana z /omf.

Zobacz też

Odwołanie do dyrektyw
Gramatyka MASM BNF