Notasbit

Las mejores noticias de tecnología en un sólo lugar

Publicado por: Microsiervos

Publicado en: 28/09/2020 12:52

Escrito por: [email protected] (Alvy)

Una comparación entre un programa en lenguaje C y su compilación en código máquina, instrucción a instrucción

Una comparación entre un programa en lenguaje C y su compilación en código máquina, instrucción a instrucción

En el siempre didáctico canal de Ben Eater, dedicado a la programación en lenguajes de bajo nivel, la electrónica de los procesadores y cosas así encontré este vídeo que muestra cómo es el código máquina resultante de compilar un sencillo programa en C. Y, aunque quienes programan pueden imaginar cómo funciona, me pareció una excelente narrativa sobre lo que sucede «tras las bambalinas».

Hay cierto debate filosófico en los comentarios sobre si lo que se muestra como código máquina es tal y es más bien ensamblador, algo muy similar pero en cierto modo diferente. Si bien es cierto que en mi opinión parece más ensamblador –porque hay instrucciones con nombres, pseudovariables y otras referencias– eso no le quita mérito al asunto. Ver el código máquina sería básicamente lo mismo, pero más aburrido: un chorro de bytes en hexadecimal, situados en las posiciones de memoria que indica la columna izquierda.

(Por cierto que lo de bajo nivel de estos lenguajes se refiere a «estar más cerca del hardware de la máquina», no a que sean más toscos o simples, aunque también; el código máquina solo tiene unas pocas decenas o cientos de instrucciones. El caso es que el código máquina está mucho más cerca de los unos y ceros de los chips que las referencias y códigos del ensamblador o el código mucho más «humano» y lleno de funciones y opciones del lenguaje C. Más bajo que el código máquina solo estaría ponerse a soldar cables seguramente.)

En cualquier caso, Eater …

Top noticias del 28 de Septiembre de 2020