Red de conocimiento informático - Conocimiento sistemático - ¿Cuál es la diferencia entre datos y programas en ensamblador? ¿Cómo determinar qué información en la memoria son datos?

¿Cuál es la diferencia entre datos y programas en ensamblador? ¿Cómo determinar qué información en la memoria son datos?

No hay diferencia entre datos y programas en lenguaje ensamblador cuando se almacenan en la unidad de memoria. Todos son información binaria.

Si cs:ip apunta a una determinada unidad de memoria, entonces la CPU comenzará la ejecución desde esta unidad, así que aquí está la instrucción (programa).

Si algún método de direccionamiento de memoria apunta a una ubicación y se utiliza como operando, entonces se trata de datos.

De hecho, si nos fijamos únicamente en una unidad de memoria, es imposible distinguir si se trata de datos o de un programa. La única forma es utilizar instrucciones ensambladoras para diferentes interpretaciones al escribir programas.