Léxico TI › Programación › Código automodificable

Código automodificable

Programación Svenska → Actualizado: 2026-09-02

Un programa que reescribe sus propias instrucciones mientras se ejecuta — en las primeras máquinas de programa almacenado era una necesidad, no un truco sucio.

Que las instrucciones y los datos compartan la misma memoria significa que un programa puede tratar sus propias instrucciones como datos y modificarlas durante la ejecución. En la Manchester Baby y la EDSAC, hacia 1948, no existían registros índice, así que para recorrer un array el programa simplemente reescribía el campo de dirección de sus propias instrucciones, un paso cada vez. Era rutina, no trampa.

El registro índice de Tom Kilburn en la Manchester Mark 1 (1949) hizo innecesaria la técnica: ahora una dirección podía incrementarse en un registro auxiliar sin tocar el código. El código automodificable pasó a ser algo que evitar — difícil de leer, imposible de colocar en memoria de solo lectura, una pesadilla para depurar. Aun así, sobrevive donde compensa: los compiladores JIT generan código máquina sobre la marcha, y el malware se muta a sí mismo para esquivar la detección.

← Volver al léxico