Sujet : Re: Every sufficiently competent C programmer knows --- posthumous reviewers
De : mikko.levanto (at) *nospam* iki.fi (Mikko)
Groupes : comp.theoryDate : 14. Mar 2025, 10:03:26
Autres entêtes
Organisation : -
Message-ID : <vr0rcu$10780$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14
User-Agent : Unison/2.2
On 2025-03-13 20:56:22 +0000, olcott said:
On 3/13/2025 4:22 AM, Mikko wrote:
On 2025-03-13 00:36:04 +0000, olcott said:
void DDD()
{
HHH(DDD);
return;
}
int DD()
{
int Halt_Status = HHH(DD);
if (Halt_Status)
HERE: goto HERE;
return Halt_Status;
}
When HHH correctly emulates N steps of the
above functions none of them can possibly reach
their own "return" instruction and terminate normally.
Nevertheless, assuming HHH is a decider, Infinite_Loop and Infinite_Recursion
specify a non-terminating behaviour, DDD specifies a terminating behaviour
_DDD()
[00002172] 55 push ebp ; housekeeping
[00002173] 8bec mov ebp,esp ; housekeeping
[00002175] 6872210000 push 00002172 ; push DDD
[0000217a] e853f4ffff call 000015d2 ; call HHH(DDD)
[0000217f] 83c404 add esp,+04
[00002182] 5d pop ebp
[00002183] c3 ret
Size in bytes:(0018) [00002183]
What is the sequence of machine language
instructions of DDD emulated by HHH such that DDD
reaches its machine address 00002183?
Irrelevant off-topic distraction.
-- Mikko