微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SDCC Z80:避免地址

如何解决SDCC Z80:避免地址

我可以在 SDCC 中排除代码段内的某些地址吗?例如,如果我的代码段从 addr 跨越。 0x0000 到 0x4000,我可以以某种方式告诉链接器/编译器避免 addr.从 0x2000 到 0x2100 并且没有在那里放置任何代码

这两个实际案例是:

  1. 用新的(完全不同的!)版本替换 ROM,并希望保持与旧 ROM 的二进制兼容性。旧 ROM 中的某些绝对地址被现有软件调用,我想提供“兼容模式”,以确保至少大多数常见跳转仍然有效。
  2. 如果我“触摸”某些地址,内存映射硬件会对 ROM 做一些讨厌的事情(例如禁用它!)。所以我想确保那里没有放置任何代码

我可以创建多个段并手动为它们分配函数直到“满”,但我想知道是否可以从编译器/链接器获得任何帮助?因为代码经常更改,而且我不想为每个将函数大小增加几个字节的错误修复调整进入哪个段的内容...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。