Código roscado

Definición: ¿Qué significa código enhebrado?

El código enhebrado es una técnica de implementación del compilador que se utiliza para implementar intérpretes de máquinas virtuales. El código generado por el código enhebrado contiene principalmente llamadas a subrutinas. Este código también podría ser una secuencia simple de instrucciones de llamada de máquina o quizás un código que necesita ser procesado por un intérprete de máquina. El código enhebrado es el método implementado en lenguajes de programación como FORTH, la mayoría de las implementaciones de BASIC y algunas versiones de COBOL. Una de las características destacadas del código enhebrado es que, en comparación con otros métodos de generación de código, tiene una mayor densidad de código. Al mismo tiempo, la velocidad de ejecución es ligeramente más lenta que los códigos generados por métodos alternativos.

Techinfo explica el código enhebrado

El código con subprocesos se implementa principalmente mediante los siguientes modelos:

  • Código de subprocesamiento directo: el código de programa es un vector normal de punteros de procedimiento para llamar dispuestos en el orden en que aparecen.
  • Código enhebrado indirecto: hace la representación del programa compilado con la ayuda de punteros de dirección. La representación hace uso de un vector de direcciones a descriptores y no de las direcciones del código de ejecución. Los descriptores, a su vez, apuntan al código de ejecución previsto.
  • Código con subprocesos de subrutina: en comparación con otros métodos, el código con subprocesos de subrutinas tiene representaciones de código que pueden ser ejecutadas directamente por la CPU. En este método, el vector utilizado consiste en instrucciones JSR o CALL en lugar de un vector de direcciones.
  • Token Threaded Code: utiliza el enfoque ThreeStarProgramming para interpretar las representaciones compiladas. Las representaciones se limitan en su mayoría a menos de 256 instrucciones virtuales. Como resultado de esta restricción, el código con subprocesos de token también se conoce como código de bytes.