簡體   English   中英

Easy68k匯編ORG指令

[英]Easy68k Assembly ORG directive

我知道有人問過類似的問題,但還是要聽。

這個學期我寫了很多Easy68k程序,我很好奇為什么org指令總是設置為$ 1000或$ 2000或$ 2500。

答案是“根據個人習慣”,但我對理解以下內容更感興趣:

  • 設置org指令的好處是什么,CPU可以執行從0x0到0xffffffff的任何內容,那么將程序啟動一直偏移到0x1000的需求是什么?

例如:

    org $1000
start:
    moveq #9, d0
    trap  #15

    end start

可以,但向下偏移4096字節

start:
    moveq #9, d0
    trap  #15

    end start

也可以,但是一點也不抵消

那么為什么需要此指令? 我沒有為任何特定目的保留[0x0,0x1000),那么保持此偏移量有什么意義呢?

到目前為止的結論

  • Easy68k沒有全局變量的默認位置,它們放置在pc上(通常按照慣例放在程序的末尾)。
  • Easy68k的默認堆棧指針為0,向下字增加為0xffffffe,然后向下(字對齊):這意味着與[0,0x1000)區域沒有沖突。 實際上,它會在破壞[0,0x1000)區域之前破壞代碼。

我真的很好奇

提前謝謝!

〜德米特里

地址6到大約地址$ 800為68000中的異常向量保留。$ 1000用作默認的起始地址,以避開保留區域。 堆棧默認為內存頂部,並向地址0擴展。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM