保护中断程序中的索引寄存器

编译器的工作是确保不会覆盖在中断程序中使用的索引寄存器或从中断程序调用的函数或功能块中使用的索引寄存器。

以下示例显示了PLC的代码生成概念(中断中的索引寄存器:右侧的程序代码、程序员注释)以确保此行为:

带有索引寄存器库的PLC(FP2SH和FP10SH)

INT0
ST R9010
F411_CHGB K1	Index register bank set to 1

ST R9010
F0_MV	DT458, I5	Actual program code
F0_MV	K5, I5DT455

ST R9010
F412_POPB		Index register bank reset

不带索引寄存器库的PLC

INT0
ST R9010
F0_MV	I5, DT461	Protecting the current content

ST R9010
F0_MV	DT458, I5	Actual program code
F0_MV	K5, I5DT455
ST R9010F0_MV DT461, I5	Rewriting the current content
IRET

最后更新日期: 2019-04-30此页面上的反馈松下热线