El ensamblador acepta varias variables en una instruccion
Se corrigio el bug que impedía escribir varias variables en una instrucción, y que éstas fueran escritas en ensamblador.
Lo que sucedía es que la función EscribeEnsamblador() aún no soportaba esta característica, ya que fue escrita antes de agregar esta funcionalidad al análisis sintáctico.
Ahora, el siguiente programa:
int a, b;
int c, d;
float e, f, g;
b = 10;
d = 5 + 1;
a = 3 * b + 5 - d;
Se compila como sigue:
.model small
.stack
.data
a DW ?
b DW ?
c DW ?
d DW ?
e DW ?
f DW ?
g DW ?
T0 DW ?
T1 DW ?
T2 DW ?
T3 DW ?
.code
begin:
mov ax, @data
mov ds, ax
mov ax, 10
mov T0, ax
mov ax, T0
mov b, ax
mov ax, 5
add ax, 1
mov T0, ax
mov ax, T0
mov T1, ax
mov ax, T1
mov d, ax
mov ax, 3
mov bx, b
mul bx
mov T0, ax
mov ax, T0
add ax, 5
mov T1, ax
mov ax, T1
sub ax, d
mov T2, ax
mov ax, T2
mov T3, ax
mov ax, T3
mov a, ax
END begin
El ensamblador acepta varias variables en una instruccion
Se corrigio el bug que impedía escribir varias variables en una instrucción, y que éstas fueran escritas en ensamblador.
Lo que sucedía es que la función EscribeEnsamblador() aún no soportaba esta característica, ya que fue escrita antes de agregar esta funcionalidad al análisis sintáctico.
Ahora, el siguiente programa:
Se compila como sigue: