Sujet : Re: DDD correctly emulated by HHH is correctly rejected as non-halting.
De : polcott333 (at) *nospam* gmail.com (olcott)
Groupes : comp.theoryDate : 11. Jul 2024, 16:02:52
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v6oomc$2fuva$3@dont-email.me>
References : 1 2
User-Agent : Mozilla Thunderbird
On 7/11/2024 1:22 AM, Mikko wrote:
On 2024-07-10 15:03:46 +0000, olcott said:
typedef void (*ptr)();
int HHH(ptr P);
>
void DDD()
{
HHH(DDD);
}
>
int main()
{
HHH(DDD);
}
>
We stipulate that the only measure of a correct emulation
is the semantics of the x86 programming language. By this
measure when 1 to ∞ steps of DDD are correctly emulated by
each pure function x86 emulator HHH (of the infinite set
of every HHH that can possibly exist) then DDD cannot
possibly reach past its own machine address of 0000216b
and halt.
For every instruction that the C compiler generates the x86 language
specifies an unambiguous meaning, leaving no room for "can".
then DDD cannot possibly reach past its own machine
address of 0000216b and halt.
then no DDD instance of each HHH/DDD pair reaches
past its own machine address of 0000216b and halts.
_DDD()
[00002163] 55 push ebp ; housekeeping
[00002164] 8bec mov ebp,esp ; housekeeping
[00002166] 6863210000 push 00002163 ; push DDD
[0000216b] e853f4ffff call 000015c3 ; call HHH(DDD)
[00002170] 83c404 add esp,+04
[00002173] 5d pop ebp
[00002174] c3 ret
Size in bytes:(0018) [00002174]
(1) I am referring to an infinite set of HHH/DDD pairs each
HHH having different behavior.
(2) No DDD of this infinite set reaches past its
own machine address of 0000216b.
-- Copyright 2024 Olcott "Talent hits a target no one else can hit; Geniushits a target no one else can see." Arthur Schopenhauer