繁体   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