天天看點

彙編segment僞指令

segment是段,是段定義的僞指令。在彙編中有資料段,代碼段,堆棧段和附加段

[格式]

segment_name SEGMENT 【定位類型】 【組合類型】 【類别名】

···;here is your code

segment ends

注:【】都是在英文輸入法下的符号,此處無法打出是以才用了中文狀态下的【】

參數解釋:

  1. 【定位類型】

    指明段開始的邊界,如para,它使段定位在小段的邊界,段首位址正好能被16整除,定位類型未指定時預設為para

    段的定位類型有4種,分别是:

    1. page(頁起始),起始位址以00H結尾,能被256整除
    2. para (節起始),起始位址以0H結尾,能被16整除
    3. word(字起始),起始位址末位為0,是偶位址
    4. byte (位元組起始),起始位址為任意邊界
  2. 【組合類型】

    決定本段是否要和其他段組合在一起,組合類型有:stack,common,public

  3. 【類别名】

    連接配接時用于相關段組合在一起,如代碼段’code’,資料段’Data’,堆棧段’Stack’

例子: stack segment para stack ‘stack’

解釋: para表明該段起始位址對齊到para。 1 para= 16 bytes。stack聲明該段是堆棧段,這樣在最後的連結link時,會将該最終建立的exe檔案頭部的SS:SP域指向該段的末尾

‘stack’表明該段的組合名為’stack’。同一程式不同子產品中,相同組合名的段會組合到一起。組合名也決定了最後exe檔案中各個段的排列順序

參考文檔:

微機中的一些解釋

SEGMENT僞指令說明

繼續閱讀