Para comprender un poco mas, sobre cómo funciona un sistema integrado, es necesario saber las diferencias entre un lenguaje de alto nivel y uno de bajo nivel.
Lenguaje de alto nivel.
Este viene siendo un nivel de lenguaje de programación, en donde tenemos gramática que se utiliza normalmente para programar sin tener que ir muy profundo sobre los detalles inherentes a la operación de la computadora, los detalles técnicos se tienen en cuenta cuando se traduce a un lenguaje máquina, cuando pasa por un intérprete o compilador, por lo tanto un lenguaje de alto nivel se manipulan conceptos mas elaborados, pero impide tener la gestión de algunos detalles.
Obviamente, el utilizar el concepto de lenguaje de alto nivel, no quiere decir que ese lenguaje es superior al de bajo nivel, se le dá este tipo de diferencia por lo que he explicado en el párrafo anterior, en lo cual este tipo de lenguajes se obtienen el uso de objetos, variables, matrices, aritmética compleja, expresiones booleanas etc.., pero carecen de la gestión de memoria ó gestiones del procesador.
Aquí tenemos un ejemplo del lenguaje C y lo que se realiza para simplemente imprimir una cadena en este lenguaje.
Lenguaje de bajo nivel.
Un lenguaje de bajo nivel, es el tipo de codificación que se aproxima al lenguaje máquina binario, este tipo de lenguajes regualrmente se utilizan en cómputo integrado, por lo tanto, podemos decir que la programación de bajo nivel comprende las características de la arquitectura de la computadora, así que este utiliza instrucciones del procesador, por lo tanto para poder programar es necesario conocer conceptos como registros.
Como pueden observar, que el código en lenguaje ensamblador, es un tanto más complejo, porque tenemos que lidiar con características de la arquitectura de la computadora, registros e instrucciones del procesador.
Referencias
Lenguaje ensamblador
Lenguaje C
Alto nivel
Bajo nivel
5 lab integrados
ResponderEliminarBuena entrada.
ResponderEliminarEn realidad assembly no hace mas complejo el codigo, pero el gcc te traduce el .c con bastante banderas para debugeo y para ser sincero la codificacion assembly para procesadores intel hace ver aun mas ~complejo el codigo.