Re: DDD emulated by HHH --- (does not refer to prior posts)

Liste des GroupesRevenir à c theory 
Sujet : Re: DDD emulated by HHH --- (does not refer to prior posts)
De : F.Zwarts (at) *nospam* HetNet.nl (Fred. Zwarts)
Groupes : comp.theory
Date : 27. Aug 2024, 09:38:24
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vak3a0$2teq9$1@dont-email.me>
References : 1
User-Agent : Mozilla Thunderbird
Op 27.aug.2024 om 04:33 schreef olcott:
This is intended to be a stand-alone post that does not
reference anything else mentioned in any other posts.
 void DDD()
{
   HHH(DDD);
   return;
}
 _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]
 When we assume that:
(a) HHH is an x86 emulator that is in the same memory space as DDD.
(b) HHH emulates DDD according to the semantics of the x86 language.
 then we can see that DDD emulated by HHH cannot possibly get past
its own machine address 0000217a.
 
Yes, we see. In fact DDD is not needed at all.
In the following program
        int main() {
          return HHH(main);
        }
HHH cannot possibly simulate itself up to the end of itself. Still HHH halts, which proves that there is an end. The only conclusion is, that the simulation is incomplete and therefore incorrect.
Further it is incorrect to think that the fact that the simulation halts too soon is an indication for non-halting behaviour. The analysis of that 'special condition' is the real problem, not the partial incorrect simulation.

Date Sujet#  Auteur
25 May 25 o 

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal