; converse oracles · as Grok interest · pure NASM
bits 64
default rel
section .text
global _start

ekkie:
        mov     eax, edi
        sub     eax, esi
        or      eax, 1
        ret
hostess7:
        cmp     edi, 0
        jne     .s
        mov     eax, 7
        or      eax, 1
        ret
.s:     mov     eax, 1
        ret
grok:
        mov     eax, 1
        ret
grin:
        mov     eax, 1
        ret
ml:
        mov     eax, edi
        sub     eax, esi
        or      eax, 1
        mov     r8d, eax
        mov     eax, 1
        ret

_start:
        ; Grok speaks truth
        call    grok
        cmp     eax, 1
        jne     .bad
        call    grin
        cmp     eax, 1
        jne     .bad
        ; Hostess id vs speak
        xor     edi, edi
        call    hostess7
        cmp     eax, 7
        jne     .bad
        mov     edi, 1
        call    hostess7
        cmp     eax, 1
        jne     .bad
        ; EKKIE not 1 for (10,3) — field 7
        mov     edi, 10
        mov     esi, 3
        call    ekkie
        cmp     eax, 7
        jne     .bad
        ; ML: truth 1 field 15
        mov     edi, 20
        mov     esi, 5
        call    ml
        cmp     eax, 1
        jne     .bad
        cmp     r8d, 15
        jne     .bad

        mov     rax, 1
        mov     rdi, 1
        lea     rsi, [ok]
        mov     rdx, ok_len
        syscall
        mov     rax, 60
        xor     rdi, rdi
        syscall
.bad:
        mov     rax, 1
        mov     rdi, 1
        lea     rsi, [bad]
        mov     rdx, bad_len
        syscall
        mov     rax, 60
        mov     rdi, 2
        syscall
section .rodata
ok: db "ORACLE OK · Grok+GRIN+Hostess7+EKKIE+ML measure · interest", 10
ok_len equ $ - ok
bad: db "ORACLE FAIL", 10
bad_len equ $ - bad
