Liste des Groupes | Revenir à theory |
On 7/11/2024 1:25 AM, Mikko wrote:But it CAN'T abort its simulation and still fully follow the semantics of the x86 language.On 2024-07-10 17:53:38 +0000, olcott said:*That is counter-factual*
>On 7/10/2024 12:45 PM, Fred. Zwarts wrote:>Op 10.jul.2024 om 17:03 schreef olcott:>typedef void (*ptr)();>
int HHH(ptr P);
>
void DDD()
{
HHH(DDD);
}
>
int main()
{
HHH(DDD);
}
Unneeded complexity. It is equivalent to:
>
int main()
{
return HHH(main);
}
>
>
Every time any HHH correctly emulates DDD it calls the
x86utm operating system to create a separate process
context with its own memory virtual registers and stack,
thus each recursively emulated DDD is a different instance.
However, each of those instances has the same sequence of instructions
that the x86 language specifies the same operational meaning.
>
When DDD is correctly emulated by HHH according to the
semantics of the x86 programming language HHH must abort
its emulation of DDD or both HHH and DDD never halt.
When DDD is correctly emulated by HHH1 according to theWhich just shows that THIS HHH didn't actually need to abort its simulation of the DDD tha calls the aborting HHH, it just did it, because that is what it is.
semantics of the x86 programming language HHH1 need not
abort its emulation of DDD because HHH has already done this.
The behavior of DDD emulated by HHH1 is identical to theRight, and contains ALL the behavior of the PARTIAL emulation done by HHH, and more, showing what HHH didn't get to see.
behavior of the directly executed DDD().
Les messages affichés proviennent d'usenet.