extern io_get_dec, io_print_dec, io_newline, io_print_string
section .bss
a resd 2
b resd 2
c resd 2
d resd 2
p resd 2
section .data
yes db "YES", 0
no db "NO", 0
section .text
global main
main:
call io_get_dec
mov [a], eax
call io_get_dec
mov [a + 4], eax
call io_get_dec
mov [b], eax
call io_get_dec
mov [b + 4], eax
call io_get_dec
mov [c], eax
call io_get_dec
mov [c + 4], eax
call io_get_dec
mov [d], eax
call io_get_dec
mov [d + 4], eax
call io_get_dec
mov [p], eax
call io_get_dec
mov [p + 4], eax ;почитали все чиселки
mov ebx, [a]
cmp ebx, [b]
mov edx, [c]
je .L1
cmp ebx, [c]
mov edx, [b]
je .L1
cmp ebx, [d]
mov edx, [с]
je .L1
.L1: ;сюда передали две крайние координаты по иксу
cmp ebx, edx
jl .L2
cmp [p], edx
jle .Lx
cmp [p], ebx
jge .Lx
mov dword [p], 1001
jmp .Lx
.L2:
cmp [p], ebx
jle .Lx
cmp [p], edx
jge .Lx
mov dword [p], 1001
.Lx:
mov esi, [a + 4]
cmp esi, [b + 4]
mov edi, [c + 4]
je .L3
cmp esi, [c + 4]
mov edi, [b + 4]
je .L3
cmp esi, [d + 4]
mov edi, [c + 4]
je .L3
.L3:
cmp esi, edi
jl .L4
cmp [p + 4],esi
jle .L5
cmp [p + 4], edi
jge .L5
mov dword [p + 4], 1001
jmp .L5
.L4:
cmp [p + 4], edi
jle .L5
cmp [p + 4], esi
jge .L5
mov dword [p + 4], 1001
.L5:
cmp dword [p], 1001
jne .L6
cmp dword [p + 4], 1001
jne .L6
mov eax, yes
call io_print_string
jmp .L7
.L6:
mov eax, no
call io_print_string
.L7:
xor eax, eax
ret