MAWA - El lenguaje simple en sintaxis como Python de bajo nivel. Parte 3, Condicionales.
Source: Dev.to
Las Condicionales
- Register (AL) = 255 (0xFF)
- Register (BX) = 65 535 (0xFFFF)
- Register (ECX) = 4 294 967 295 (0xFFFFFFFF)
Comparación en Assembler
En ensamblador tradicional se usa la instrucción cmp para comparar dos valores y, a continuación, una instrucción de salto condicional:
; Comparar el registro AL con el valor 5
cmp al, 5
je seCumplio ; salto si son iguales
jne noSeCumplio ; salto si no son iguales
Comparación en C++
En lenguajes de alto nivel como C++ la misma operación se escribe de forma más legible:
// Suponiendo que AL es una variable
if (al == 5) {
// ejecución del if
} else {
// ejecución del else
}
Sintaxis de condicionales en MAWA
MAWA simplifica la sintaxis de los condicionales, permitiendo escribirlos de forma similar a los lenguajes de alto nivel pero sin necesidad de saltos explícitos. Un ejemplo:
Register (AL) = 5
Register (BL) = AL
Si: (AL == BL)
If:
Imp ("Se cumplió")
Else:
Imp ("No se cumplió")
End If
Con esta sintaxis, MAWA permite comparar:
- Registros
- Variables en memoria
- Direcciones explícitas
- Valores literales
y usar operadores lógicos como AND y OR, así como estructuras Else If para manejar múltiples condiciones.