• When I finally prove my point everyone shuts up [x86 is Turing complete

    From olcott@21:1/5 to All on Tue Aug 18 20:50:00 2020
    XPost: comp.theory, comp.ai.philosophy, sci.lang.semantics

    The abstract model of computation specified by the x86 language already
    has access to unlimited memory when we assume the implementation detail
    that the underlying memory architecture of this abstract model is
    organized as an unlimited sequence of adjacent 4GB blocks.

    (1) signed 32-bit relative jumps
    // Jumps to the first address of the next 4GB block
    FFFFFFF0: E90B000000 ; signed 32-bit relative jumps

    (2) signed 32-bit relative offsets
    // Moves a 32-bit integer from the first address of the next 4GB block xxxxxxxx: BBFFFFFFFF mov ebx, 0xffffffff
    xxxxxxxx: 8B4301 mov eax, dword ptr [ebx+0x1]

    x86 Instruction Set Reference
    https://c9x.me/x86/

    The correctness of the above machine language instructions was verified
    with Intel XED.

    The X86 Encoder Decoder (XED), is a software library (and associated
    headers) for encoding and decoding X86 (IA32 and Intel64) instructions. https://intelxed.github.io/

    E9 cd JMP rel32
    Jump near, relative, displacement relative to next instruction.

    f0: E90B000000 jmp 0x100
    f5: 90 nop
    f6: 90 nop
    f7: 90 nop
    f8: 90 nop
    f9: 90 nop
    fa: 90 nop
    fb: 90 nop
    fc: 90 nop
    fd: 90 nop
    fe: 90 nop
    ff: 90 nop
    100: BBFFFFFFFF mov ebx, 0xffffffff
    105: 8B4301 mov eax, dword ptr [ebx+0x1]

    --
    Copyright 2020 Pete Olcott

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)