SEGMENT
Definiuje segment programu o nazwie name o atrybutach segmentu
Składnia
name SEGMENT ⟦READONLY⟧ ⟦align⟧ ⟦combine⟧ ⟦use⟧ ⟦charakterystyki⟧ ALIAS(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.