Liste des Groupes | Revenir à theory |
On 7/11/2024 1:22 AM, Mikko wrote:Sure it can, if the HHH aborts its simulation from any call to it, it will do it for ALL calls to it, even to the DDD that calls it.On 2024-07-10 15:03:46 +0000, olcott said:then DDD cannot possibly reach past its own machine
>typedef void (*ptr)();>
int HHH(ptr P);
>
void DDD()
{
HHH(DDD);
}
>
int main()
{
HHH(DDD);
}
>
We stipulate that the only measure of a correct emulation
is the semantics of the x86 programming language. By this
measure when 1 to ∞ steps of DDD are correctly emulated by
each pure function x86 emulator HHH (of the infinite set
of every HHH that can possibly exist) then DDD cannot
possibly reach past its own machine address of 0000216b
and halt.
For every instruction that the C compiler generates the x86 language
specifies an unambiguous meaning, leaving no room for "can".
>
address of 0000216b and halt.
then no DDD instance of each HHH/DDD pair reachesSure it can, if HHH ever aborts its simulation and returns.
past its own machine address of 0000216b and halts.
_DDD()And these divide into to classes, the class where HHH(DDD) returns, and the class where HHH(DDD) never returns.
[00002163] 55 push ebp ; housekeeping
[00002164] 8bec mov ebp,esp ; housekeeping
[00002166] 6863210000 push 00002163 ; push DDD
[0000216b] e853f4ffff call 000015c3 ; call HHH(DDD)
[00002170] 83c404 add esp,+04
[00002173] 5d pop ebp
[00002174] c3 ret
Size in bytes:(0018) [00002174]
(1) I am referring to an infinite set of HHH/DDD pairs each
HHH having different behavior.
(2) No DDD of this infinite set reaches past itsNo, EVERY one of them does that had an HHH that returns from HHH(DDD).
own machine address of 0000216b.
Les messages affichés proviennent d'usenet.