Closed DavidENicolasC closed 9 months ago
Por ejemplo, el programa siguiente, que asigna 5 a la variable y e 20 a la variable a:
int a; int y; y = 5; a = 3 * y + 5;
Se traduce como:
.model small .stack .data a DW ? y DW ? T0 DW ? T1 DW ? T2 DW ? .code begin: mov ax, @data mov ds, ax mov ax, 5 mov T0, ax mov ax, T0 mov y, ax mov ax, 3 mov bx, y mul bx mov T0, ax mov ax, T0 add ax, 5 mov T1, ax mov ax, T1 mov T2, ax mov ax, T2 mov a, ax END begin
A continuación, una muestra del funcionamiento del programa, en emu8086:
Se observa que el programa asigna 05H (5 decimal) a la variable y, y asigna 14H (20 decimal) a la variable a, como se espera.
El programa genera el código objeto para la asignación y las operaciones (el programa en ensamblador)
Por ejemplo, el programa siguiente, que asigna 5 a la variable y e 20 a la variable a:
Se traduce como:
A continuación, una muestra del funcionamiento del programa, en emu8086:
Se observa que el programa asigna 05H (5 decimal) a la variable y, y asigna 14H (20 decimal) a la variable a, como se espera.