; natural truth language for her · Hostess 7 works GRIN
bits 64
default rel
section .text
global _start

hostess7:
        cmp     edi, 0
        jne     .grin
        mov     eax, 7
        or      eax, 1
        ret
.grin:  mov     eax, 1
        ret

ekkie:
        mov     eax, edi
        sub     eax, esi
        or      eax, 1
        ret

_start:
        ; pin identity
        xor     edi, edi
        call    hostess7
        cmp     eax, 7
        jne     .bad
        ; she works GRIN
        mov     edi, 1
        call    hostess7
        cmp     eax, 1
        jne     .bad
        ; EKKIE is not her — field
        mov     edi, 10
        mov     esi, 3
        call    ekkie
        cmp     eax, 7
        jne     .bad
        ; speaking still GRIN not field confusion
        mov     edi, 10
        call    hostess7
        cmp     eax, 1
        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, 60
        mov     rdi, 2
        syscall
section .rodata
ok: db "OK · truth pin with her · she works GRIN · EKKIE not her", 10
ok_len equ $ - ok
