Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Mikko Newsgroups: comp.theory Subject: Re: Every sufficiently competent C programmer knows --- posthumous reviewers Date: Fri, 14 Mar 2025 11:03:26 +0200 Organization: - Lines: 46 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Fri, 14 Mar 2025 10:03:28 +0100 (CET) Injection-Info: dont-email.me; posting-host="fb616aedb28cdf28498836cc6a18cf29"; logging-data="1056000"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX186d1pQnD3VoUCix3JyTlXD" User-Agent: Unison/2.2 Cancel-Lock: sha1:GqrDKVGwwUB6SYoHCVMII7AdT3Y= Bytes: 2672 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