[其它应用] 程序想跳到800H

[复制链接]
 楼主| wangpe 发表于 2014-10-19 10:08 | 显示全部楼层 |阅读模式
ROM, mb, AN
ROM BANK是怎么样设置的,程序想跳到800H
guoyt 发表于 2014-10-19 10:10 | 显示全部楼层
800H~FFFH这个段属于BANK1 ROM区,BANK0写满了,就自动写道BANK1区啊。
 楼主| wangpe 发表于 2014-10-19 10:11 | 显示全部楼层
如果想不写满呢?
langgq 发表于 2014-10-19 10:12 | 显示全部楼层
直接写入BANK1,可以用ORG 800H指令来设置程序的起始地址,这样该指令后面的程序就从800H开始写了。
 楼主| wangpe 发表于 2014-10-19 10:14 | 显示全部楼层
跳BANK编程需要注意什么?
wangzsa 发表于 2014-10-19 10:15 | 显示全部楼层
不同BANK区之间的程序不能调用的,即不能在BANK0区的程序中使用“CALL指令”,去调用位于BANK1区的子程序,也不能在BANK1区的子程序中使用RTNI指令返回位于BANK0区的主程序。
zhanglli 发表于 2014-10-19 10:17 | 显示全部楼层
还有,BANK0要跳到BANK1只能采用JMP指令,跳到BANK1区的子程序后,处理完子程序,要使用JMP指令跳回BANK0区的主程序
 楼主| wangpe 发表于 2014-10-19 10:19 | 显示全部楼层
请教这个BNK寄存器在哪?
guoyt 发表于 2014-10-19 10:20 | 显示全部楼层
ROMBANK为每4K一个BANK,只有ROM大于4K的芯片才会有BNK寄存器,SH67P54的ROM为4K,全部为ROMBANK0.
 楼主| wangpe 发表于 2014-10-19 10:21 | 显示全部楼层
哪我以后的出错是什么原因呢。
hanwe 发表于 2014-10-19 10:23 | 显示全部楼层
嗯,翻BANK操作会有WARNING,但是对于程序稳定性和操作没有影响。
 楼主| wangpe 发表于 2014-10-19 10:24 | 显示全部楼层
嗯,对整个程序的运行有没有影响呢。
lium 发表于 2014-10-19 10:25 | 显示全部楼层
没有影响,只是提醒你注意查看一下而已.
 楼主| wangpe 发表于 2014-10-19 10:27 | 显示全部楼层
还有就是:
;===================================================
ORG  0000H
jmp     poweron
          rtni
;        rtni               
          JMP  intin
        jmp  basetime
          rtni
          rtni
          org     010h
;*****************************************************************
include  "AT24C256.asm"  
include  "KeyScanPro.asm"
 楼主| wangpe 发表于 2014-10-19 10:29 | 显示全部楼层
这样,在主程序里面 加入 include  xxx.asm 文件,这样对程序有没影响,我仿真时,是可以的。不知烧录后会不会有影响。。
yufe 发表于 2014-10-19 10:31 | 显示全部楼层
不会有影响,其实编译的时候,编译器已经把这些文件"COPY"到主程序中了.不用担心.
hanwe 发表于 2014-10-19 10:34 | 显示全部楼层
CALL是2K,JMP是4K
 楼主| wangpe 发表于 2014-10-19 10:37 | 显示全部楼层
OK,我明白了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

938

主题

9837

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部