Unidad 3 Modularización - JoseCorreaMorales/lenguajes-de-interfaz GitHub Wiki

3.1 Procedimientos


En el lenguaje ensamblador con sintaxis Intel, un procedimiento es una sección de código que realiza una tarea específica y puede ser llamado desde diferentes partes de un programa. Los procedimientos se utilizan para modularizar el código y hacerlo más legible y fácil de mantener.

En la sintaxis Intel, los procedimientos se definen utilizando la directiva "PROC" seguida de un nombre descriptivo para el procedimiento. Por ejemplo, el siguiente código define un procedimiento llamado "suma":

suma PROC
    ; Cuerpo del procedimiento
    mov eax, 5
    mov ebx, 10
    add eax, ebx
    ret
suma ENDP

En este ejemplo, el cuerpo del procedimiento es simplemente sumar dos números (5 y 10) y devolver el resultado en el registro EAX. La instrucción "ret" se utiliza para devolver el control al punto en el programa donde se llamó al procedimiento.

Para llamar a un procedimiento desde otra parte del programa, se utiliza la instrucción "call" seguida del nombre del procedimiento. Por ejemplo, el siguiente código llama al procedimiento "suma" definido anteriormente:

mov ecx, 0 ; Inicializar contador
call suma ; Llamar al procedimiento
add ebx, eax ; Sumar el resultado al registro EBX

En este ejemplo, el resultado de la suma se almacena en el registro EAX y se utiliza posteriormente para sumar al registro EBX.

En resumen, los procedimientos en lenguaje ensamblador con sintaxis Intel se utilizan para modularizar el código y hacerlo más legible y fácil de mantener. Se definen utilizando la directiva "PROC" seguida de un nombre descriptivo y se llaman utilizando la instrucción "call" seguida del nombre del procedimiento.

3.2 Macros


Una macro es una abreviatura para una secuencia de instrucciones. Las macros se utilizan para simplificar la escritura de código repetitivo y reducir el tamaño del código fuente.

En la sintaxis Intel, las macros se definen utilizando la directiva "MACRO" seguida de un nombre descriptivo para la macro. Por ejemplo, el siguiente código define una macro llamada "suma":

suma MACRO num1, num2
    mov eax, num1
    add eax, num2
ENDM

En este ejemplo, la macro "suma" toma dos parámetros de entrada "num1" y "num2", y simplemente suma los dos números y almacena el resultado en el registro EAX.

Para utilizar una macro, se utiliza su nombre seguido de los valores de los parámetros de entrada entre paréntesis. Por ejemplo, el siguiente código utiliza la macro "suma" definida anteriormente:

mov ebx, 5
mov ecx, 10
suma ebx, ecx

En el lenguaje ensamblador con sintaxis Intel, una macro es una abreviatura para una secuencia de instrucciones. Las macros se utilizan para simplificar la escritura de código repetitivo y reducir el tamaño del código fuente.

En la sintaxis Intel, las macros se definen utilizando la directiva "MACRO" seguida de un nombre descriptivo para la macro. Por ejemplo, el siguiente código define una macro llamada "suma":


suma MACRO num1, num2
    mov eax, num1
    add eax, num2

En este ejemplo, la macro "suma" toma dos parámetros de entrada "num1" y "num2", y simplemente suma los dos números y almacena el resultado en el registro EAX.

En resumen, las macros en lenguaje ensamblador con sintaxis Intel se utilizan para simplificar la escritura de código repetitivo y reducir el tamaño del código fuente. Se definen utilizando la directiva "MACRO" seguida de un nombre descriptivo y se llaman utilizando su nombre seguido de los valores de los parámetros de entrada entre paréntesis.