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

请问strongchen 我用d64可以用banked模式的么

small模式和banked模式的主要区别是,在small模式下调用子程序或函数时,不会对PPAGE寄存器进行操作,而在banked模式下,就会采用包含PPAGE操作的指令。其实它们没有太大的区别。你说的现象很奇怪。如果愿意,你可以将project打包贴出来,或发到我的信箱:strongchen_free@yahoo.com.cn。
海纳百川  有容乃大
我已经看过你的程序了。当程序超过16K,即一页的空间,需要换页,而又不想对每个函数都申明其页时,最简单的方法就是采用banked的模式。如果一定要用small模式,就必须在放入OTHER_ROM的程序前加一个申明:

#pragma CODE_SEG __PPAGE_SEG OTHER_ROM

这样编译器就会自动加入PPAGE的操作指令。
另外,此时必须将main函数放入DEFAULT,即3F页,因为Startup代码是放入这一页的,而Startup前并没有__PPAGE_SEG的申明,所以不会加PPAGE的操作指令,此时从Startup程序跳转至main时就会出问题。

总的来说,如果用Banked方式,就没有问题了。

另外我把两种模式的project都发给你了,供你参考。
海纳百川  有容乃大
返回列表