Protección de los registros indice en los programas de interrupción

El trabajo del compilador consiste en asegurar que no se sobrescriban los registros índice que se usan en los programas de interrupción o en las funciones o en los bloques de función llamados desde programas de interrupción.

El ejemplo de abajo muestra el concepto de la generación de código en los PLCs (registro índice en interrupciones: código de programa, comentarios del programador a la derecha) para asegurar este comportamiento:

PLCs con bancos de registro índice (FP2SH y 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

PLCs sin bancos de registros índice

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

Modificado el: 2020-10-27Comentarios sobre esta páginaLínea directa de Panasonic