跳转到主内容
Knowledgebase
Home
Renesas Electronics China - Knowledgebase

当从 uPD78238 移植到 uPD784038 时, 关于地址定位、寄存器的应用及导入方法,我应该注意些什么?

最新更新:2011年10月 07日

Question:

当从 uPD78238 移植到 uPD784038 时, 关于地址定位、寄存器的应用及导入方法,我应该注意些什么?

Answer:

请注意以下几点。

定位说明的增加
请在程序的初始部分增加 LOCATION 指令。
堆栈指针已经从16位被扩展到24位。
MOVW 指令必须改为 MOVG。
PSW 已经扩展为2个字节,变为 PSWL 和 PSWH。
L/H 说明对于除 PUSH 和 POP 之外的指令来说也是需要的。
对于中断,中断请求标志寄存器已经被删除。
对中断的控制已经改为使用中断控制寄存器控制每个中断源。
(然而,当使用诸如 PIF0 之类的标志名时,是没有问题的。)
这几点可以用汇编器检查。
PSW 和 MM 寄存器的格式已经改变。
请修改这些寄存器的设置值。
对于每个中断源来说,矢量地址都是不同的。
寄存器间接寻址
当描述"DE"和"HL"时,他们被看作是"TDE"和"WHL";因此如果W和T寄存器不是0, 一个不同的地址将被指定。
在程序的开始,把 WHL 和 TDE 置为 00XXXX。
由于程序空间的扩充,存于栈中的数据数量已经增加了。
堆栈区的检测没有问题。
宏服务控制字定位区域的不同。
即使是同一个指令,指令的长度也是不同的。
在一个程序被纳入指令长度的考虑范围中的情况下,修改是需要的。
Suitable Products