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.
E9 cd JMP rel32
Jump near, relative, displacement relative to next instruction.
A relative offset (rel8, rel16, or rel32) is generally specified as a
label in assembly code, but at the machine code level, it is encoded as
a signed 8-, 16-, or 32-bit immediate value. This value is added to the
value in the EIP register.
x86 Instruction Set Reference
https://c9x.me/x86/
(1) Signed 32-bit relative jumps
// Jumps to the first address of the next 4GB block
FFFFFFF0: E90B000000 ; signed 32-bit relative jump + 0x0B
(2) Signed 32-bit relative offsets
e4: BBFFFFFFFF mov ebx, 0xffffffff
e9: 8B8300000080 mov eax, dword ptr [ebx-0x80000000]
ef: 8B83FFFFFF7F mov eax, dword ptr [ebx+0x7fffffff]
// Moves a 32-bit integer from the first address of the next 4GB block
f5: 8B4301 mov eax, dword ptr [ebx+0x1]
--
Copyright 2020 Pete Olcott
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)