Sujet : Re: Anyone that disagrees with this is not telling the truth
De : mikko.levanto (at) *nospam* iki.fi (Mikko)
Groupes : comp.theoryDate : 19. Aug 2024, 08:30:40
Autres entêtes
Organisation : -
Message-ID : <v9usb0$2pmb8$1@dont-email.me>
References : 1 2 3
User-Agent : Unison/2.2
On 2024-08-18 12:25:05 +0000, olcott said:
On 8/18/2024 3:49 AM, Mikko wrote:
On 2024-08-17 12:29:15 +0000, olcott said:
void DDD()
{
HHH(DDD);
}
_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]
*It is a basic fact that DDD emulated by HHH according to*
*the semantics of the x86 language cannot possibly stop*
*running unless aborted* (out of memory error excluded)
It is obfious from both the C code and disassembly listing
that DDD cannot return if HHH doesn't (but can and does
otherwise). Whether HHH returns is not obvious as the details
of HHH is not shown and most of its behaviour is unspecified.
That HHH <is> and x86 emulator <is> sufficient to
determine exactly what the behavior of DDD emulated by HHH
according to the semantics of the x86 language would be.
The last "would be" means that the clause is conterfactual.
But why would anybody care about the conterfactual behaviour?
-- Mikko