%include "io.inc"
section .bss
; Резервируем место для временного хранения переменных (по 4 байта каждая)
a11 resd 1
a12 resd 1
a21 resd 1
a22 resd 1
b1 resd 1
b2 resd 1
resX resd 1
resY resd 1
section .text
global main
main:
; 1. Считываем данные и сразу сохраняем в память
GET_UDEC 4, eax
mov [a11], eax
GET_UDEC 4, eax
mov [a12], eax
GET_UDEC 4, eax
mov [a21], eax
GET_UDEC 4, eax
mov [a22], eax
GET_UDEC 4, eax
mov [b1], eax
GET_UDEC 4, eax
mov [b2], eax
; --- ЛОГИКА РЕШЕНИЯ (Метод исключения без условий) ---
; Считаем Y = (a11 & b2) ^ (a21 & b1)
mov eax, [a11]
and eax, [b2]
mov ebx, [a21]
and ebx, [b1]
xor eax, ebx
mov [resY], eax ; Сохранили Y
; Считаем X = (a22 & b1) ^ (a12 & b2)
mov eax, [a22]
and eax, [b1]
mov ebx, [a12]
and ebx, [b2]
xor eax, ebx
mov [resX], eax ; Сохранили X
; --- ВЫВОД ---
PUT_UDEC 4, [resX] ; Выводим X
PRINT_CHAR ' ' ; Пробел
PUT_UDEC 4, [resY] ; Выводим Y
NEWLINE
xor eax, eax
ret