首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

9s12dg128内存空间

9s12dg128内存空间

斑竹新年好!
最近遇到一个问题,不知道是不是因为flash的问题
我用汇编写的程序有19k,
我理解的flash分页,是不是$3E和$3F是连在一起的呢?
如果3E页4000-7FFF写完了,就写3F页C000-FFFF,是不是呢?
可是好像COOO没有被写过啊!
如何往分页里面写程序呢?

[此贴子已经被作者于2007-1-3 11:09:39编辑过]

生命就是奇迹,永远都不要放弃希望,哪怕光亮渺小如豆,我们都要坚持举着它,即使烛火灼伤了皮肤,我们也不能失手,否则我们将永远在黑暗之中。
你可以看它的PRM文件。一般如果没有定义别的SEGMENT, 编译器会将程序代码放入DEFAULT的区域。3E和3F是非零页,一般用于放置复位后的startup代码和中断服务程序。
海纳百川  有容乃大
斑竹你好!
照您的意思,我的程序如果写满了3E页,就接着写3F页了呢?
可是怎么没有写进$C000单元呢?

后来我试了一下,
我在子程序段前加了一个org #$388000,就可以写到8000单元了
生命就是奇迹,永远都不要放弃希望,哪怕光亮渺小如豆,我们都要坚持举着它,即使烛火灼伤了皮肤,我们也不能失手,否则我们将永远在黑暗之中。
3E页和3F页是非分页地址,一般也不用它们的分页地址方式,而是直接用它们的物理地址,即4000~7FFF和C000~FFFF。你是用汇编编程的吗?那么是absolute assembly还是relocatable assembly?
海纳百川  有容乃大
对,我是用汇编编程
用的是绝对汇编
也就是说,3E页写完之后并不会写3F页,仍然需要自己给他分配地址,才会写到3F页,对吗?
生命就是奇迹,永远都不要放弃希望,哪怕光亮渺小如豆,我们都要坚持举着它,即使烛火灼伤了皮肤,我们也不能失手,否则我们将永远在黑暗之中。
如果直接用物理地址,肯定是这样。
海纳百川  有容乃大
好的!谢谢斑竹!!
生命就是奇迹,永远都不要放弃希望,哪怕光亮渺小如豆,我们都要坚持举着它,即使烛火灼伤了皮肤,我们也不能失手,否则我们将永远在黑暗之中。
返回列表