2014-01-28 26 views
-1

我試圖瞭解NASM的org指令,並從各種在線來源閱讀它已使我感到困惑。NASM - 組織更改地址或只指定加載地址

這裏是我的問題:

  • 是否org只有指定的程序將被加載到內存中的地址?
  • org 0x10是否暗示在org之後的第一條指令將被視爲地址0,並將0x10添加到它?如果是,是否會影響在這兩點之間彙編的指令中使用的標籤地址?
  • 如果我在一個程序中使用org,並加載另一個不使用org的程序,第一個程序的值是繼續在這裏使用,還是遵循其他一些機制?

請原諒,如果有些問題看起來很愚蠢,這讓我非常困惑。

+0

'org'指令只能在'-f bin'輸出格式(和一些外來的)中使用。它建議納斯姆在程序預計要加載的地址 - 它不會導致它加載到那裏。如果沒有給出'org'指令,那麼Nasm默認爲'org 0'。實際上,給定的值被添加到文件中所有標籤/變量的文件偏移量。 http://www.nasm.us/xdoc/2.11/html/nasmdoc7.html#section-7.1.1 –

回答

0

ORG指令只是將給定的值添加到代碼中的任何相對內部地址。標籤就是一個例子,變量位於各個代碼段中。