En los lenguajes de alto nivel disponemos de estructuras de control como “if” o “else” que nos permiten dar sentido a nuestro código, pero estas estructuras no están presentes en un lenguaje de bajo nivel como el ensamblador o no de la misma forma, como se detalla a continuación.
Estructuras Condicionales:
Estos tipos son los if, if-else, elif, switch, los más comunes en los lenguajes de alto nivel y los más utilizados. Estas estructuras no están del todo ausentes en lenguaje ensamblador, ya que al fin y al cabo estas instrucciones se convierten a ensamblador, en ensamblador se cuenta con instrucciones como CMP o TEST(Para comparar o evaluar) en el caso de ARM y sus equivalentes en las demás arquitecturas de procesadores. Para poder crear los condicionales se debe utilizar una combinación de estas (CMP, TEST, ...) junto con las instrucciones de Branch, Jump, etc según corresponda.
Ejemplos If Else:
If Else en Lenguaje C |
If Else en Lenguaje Ensamblador |
Estructuras de Repetición:
Estas estructuras son los llamados ciclos o iteraciones que se ejecutan mientras se cumpla una condición, el while, do while, for, foreach son unas de las más conocidas y utilizadas en los lenguajes de alto nivel, para poder realizar estas estructuras en ensamblador necesitamos combinar las instrucciones de (CMP o TEST, ….) para poder tener un condicional, junto con los Branch, Jump, entre otros para los saltos y el uso de etiquetas, esto para poder realizar el salto a la etiqueta en la que estoy(El ciclo) si se cumple la condición establecida, de esta manera poder realizar un ciclo. Esto lo podemos adaptar para desarrollar las otras estructuras cíclicas.
Ejemplo While:
While en Lenguaje C |
While en Ensamblador |
Como se detalla, los ciclos while o condicionales if, no están implementados, sino que se deben realizar haciendo uso de diferentes instrucciones que el lenguaje ensamblador ofrece para desarrollar en el.
Referencias:
Origen de los ejemplos
Comentarios
Publicar un comentario