HHH(Infinite_Recursion) and HHH(DDD) show the same non-halting
behavior pattern in their derived execution traces of their
inputs.
Correct emulation is defined as emulating the machine language
input according to the x86 semantics specified by this input.
For DDD correctly emulated by HHH this includes HHH emulating
itself emulating DDD according to the x86 semantics of itself.
HHH(DDD) shows the exact same execution trace behavior pattern
as HHH(Infinite_Recursion) where 3-4 instructions are repeated
with no conditional branch instructions in this trace that could
prevent them from endlessly repeating.
void Infinite_Recursion()
{
Infinite_Recursion();
}
_Infinite_Recursion()
[0000215a] 55 push ebp ; 1st line
[0000215b] 8bec mov ebp,esp ; 2nd line
[0000215d] e8f8ffffff call 0000215a ; 3rd line
[00002162] 5d pop ebp
[00002163] c3 ret
Size in bytes:(0010) [00002163]
*THREE lines repeat with no conditional branch instructions*
Begin Local Halt Decider Simulation Execution Trace Stored at:113934 [0000215a][00113924][00113928] 55 push ebp ; 1st line
[0000215b][00113924][00113928] 8bec mov ebp,esp ; 2nd line [0000215d][00113920][00002162] e8f8ffffff call 0000215a ; 3rd line [0000215a][0011391c][00113924] 55 push ebp ; 1st line
[0000215b][0011391c][00113924] 8bec mov ebp,esp ; 2nd line [0000215d][00113918][00002162] e8f8ffffff call 0000215a ; 3rd line
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
If you cannot see that the above x86 machine code proves that
it will never halt then you can't possibly understand what I
have been saying.
The first three lines of _Infinite_Recursion() repeat and there
are no conditional branch in that sequence that can possibly keep
it from repeating forever.
HHH(DDD) is the exact same pattern is shown below. The first
four lines of DDD repeat and there are are no conditional branch
in that sequence that can possibly keep it from repeating forever.
void DDD()
{
HHH(DDD);
}
_DDD()
[00002177] 55 push ebp ; 1st line [00002178] 8bec mov ebp,esp ; 2nd line
[0000217a] 6877210000 push 00002177 ; push DDD
[0000217f] e853f4ffff call 000015d7 ; call HHH
[00002184] 83c404 add esp,+04
[00002187] 5d pop ebp
[00002188] c3 ret
Size in bytes:(0018) [00002188]
*FOUR lines repeat with no conditional branch instructions*
Begin Local Halt Decider Simulation Execution Trace Stored at:113895 [00002177][00113885][00113889] 55 push ebp ; 1st line
[00002178][00113885][00113889] 8bec mov ebp,esp ; 2nd line [0000217a][00113881][00002177] 6877210000 push 00002177 ; push DDD [0000217f][0011387d][00002184] e853f4ffff call 000015d7 ; call HHH
[00002177][0015e2ad][0015e2b1] 55 push ebp ; 1st line
[00002178][0015e2ad][0015e2b1] 8bec mov ebp,esp ; 2nd line [0000217a][0015e2a9][00002177] 6877210000 push 00002177 ; push DDD [0000217f][0015e2a5][00002184] e853f4ffff call 000015d7 ; call HHH
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
Because HHH has no idea that it is calling itself HHH only sees
the same Infinite Recursion behavior pattern that it saw with Infinite_Recursion().
Op 29.jul.2024 om 16:07 schreef olcott:
HHH(Infinite_Recursion) and HHH(DDD) show the same non-halting
behavior pattern in their derived execution traces of their
inputs.
Correct emulation is defined as emulating the machine language
input according to the x86 semantics specified by this input.
For DDD correctly emulated by HHH this includes HHH emulating
itself emulating DDD according to the x86 semantics of itself.
HHH(DDD) shows the exact same execution trace behavior pattern
as HHH(Infinite_Recursion) where 3-4 instructions are repeated
with no conditional branch instructions in this trace that could
prevent them from endlessly repeating.
void Infinite_Recursion()
{
Infinite_Recursion();
}
No, the HHH that aborts after N cycles has a similar behaviour as
On 7/29/2024 2:18 PM, Fred. Zwarts wrote:
Op 29.jul.2024 om 16:07 schreef olcott:
HHH(Infinite_Recursion) and HHH(DDD) show the same non-halting
behavior pattern in their derived execution traces of their
inputs.
Correct emulation is defined as emulating the machine language
input according to the x86 semantics specified by this input.
For DDD correctly emulated by HHH this includes HHH emulating
itself emulating DDD according to the x86 semantics of itself.
HHH(DDD) shows the exact same execution trace behavior pattern
as HHH(Infinite_Recursion) where 3-4 instructions are repeated
with no conditional branch instructions in this trace that could
prevent them from endlessly repeating.
void Infinite_Recursion()
{
Infinite_Recursion();
}
No, the HHH that aborts after N cycles has a similar behaviour as
So you don't even know that infinite recursion is non-halting behavior.
You can go back and try again on this same post I am not looking at
anything else that you say.
Op 29.jul.2024 om 21:35 schreef olcott:
On 7/29/2024 2:18 PM, Fred. Zwarts wrote:
Op 29.jul.2024 om 16:07 schreef olcott:
HHH(Infinite_Recursion) and HHH(DDD) show the same non-halting
behavior pattern in their derived execution traces of their
inputs.
Correct emulation is defined as emulating the machine language
input according to the x86 semantics specified by this input.
For DDD correctly emulated by HHH this includes HHH emulating
itself emulating DDD according to the x86 semantics of itself.
HHH(DDD) shows the exact same execution trace behavior pattern
as HHH(Infinite_Recursion) where 3-4 instructions are repeated
with no conditional branch instructions in this trace that could
prevent them from endlessly repeating.
void Infinite_Recursion()
{
Infinite_Recursion();
}
No, the HHH that aborts after N cycles has a similar behaviour as
So you don't even know that infinite recursion is non-halting behavior.
You can go back and try again on this same post I am not looking at
anything else that you say.
Non halting is only in your dreams. HHH that aborts halts. Dreams are no substitute for logic.
HHH(Infinite_Recursion) and HHH(DDD) show the same non-halting
behavior pattern in their derived execution traces of their
inputs.
Correct emulation is defined as emulating the machine language
input according to the x86 semantics specified by this input.
For DDD correctly emulated by HHH this includes HHH emulating
itself emulating DDD according to the x86 semantics of itself.
HHH(DDD) shows the exact same execution trace behavior pattern
as HHH(Infinite_Recursion) where 3-4 instructions are repeated
with no conditional branch instructions in this trace that could
prevent them from endlessly repeating.
void Infinite_Recursion()
{
Infinite_Recursion();
}
_Infinite_Recursion()
[0000215a] 55 push ebp ; 1st line
[0000215b] 8bec mov ebp,esp ; 2nd line
[0000215d] e8f8ffffff call 0000215a ; 3rd line
[00002162] 5d pop ebp
[00002163] c3 ret
Size in bytes:(0010) [00002163]
*THREE lines repeat with no conditional branch instructions*
Begin Local Halt Decider Simulation Execution Trace Stored at:113934 [0000215a][00113924][00113928] 55 push ebp ; 1st line
[0000215b][00113924][00113928] 8bec mov ebp,esp ; 2nd line [0000215d][00113920][00002162] e8f8ffffff call 0000215a ; 3rd line [0000215a][0011391c][00113924] 55 push ebp ; 1st line
[0000215b][0011391c][00113924] 8bec mov ebp,esp ; 2nd line [0000215d][00113918][00002162] e8f8ffffff call 0000215a ; 3rd line
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
If you cannot see that the above x86 machine code proves that
it will never halt then you can't possibly understand what I
have been saying.
The first three lines of _Infinite_Recursion() repeat and there
are no conditional branch in that sequence that can possibly keep
it from repeating forever.
HHH(DDD) is the exact same pattern is shown below. The first
four lines of DDD repeat and there are are no conditional branch
in that sequence that can possibly keep it from repeating forever.
void DDD()
{
HHH(DDD);
}
_DDD()
[00002177] 55 push ebp ; 1st line [00002178] 8bec mov ebp,esp ; 2nd line
[0000217a] 6877210000 push 00002177 ; push DDD
[0000217f] e853f4ffff call 000015d7 ; call HHH
[00002184] 83c404 add esp,+04
[00002187] 5d pop ebp
[00002188] c3 ret
Size in bytes:(0018) [00002188]
*FOUR lines repeat with no conditional branch instructions*
Begin Local Halt Decider Simulation Execution Trace Stored at:113895 [00002177][00113885][00113889] 55 push ebp ; 1st line
[00002178][00113885][00113889] 8bec mov ebp,esp ; 2nd line [0000217a][00113881][00002177] 6877210000 push 00002177 ; push DDD [0000217f][0011387d][00002184] e853f4ffff call 000015d7 ; call HHH
[00002177][0015e2ad][0015e2b1] 55 push ebp ; 1st line
[00002178][0015e2ad][0015e2b1] 8bec mov ebp,esp ; 2nd line [0000217a][0015e2a9][00002177] 6877210000 push 00002177 ; push DDD [0000217f][0015e2a5][00002184] e853f4ffff call 000015d7 ; call HHH
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
Because HHH has no idea that it is calling itself HHH only sees
the same Infinite Recursion behavior pattern that it saw with Infinite_Recursion().
On 7/29/2024 2:38 PM, Fred. Zwarts wrote:
Op 29.jul.2024 om 21:35 schreef olcott:
On 7/29/2024 2:18 PM, Fred. Zwarts wrote:
Op 29.jul.2024 om 16:07 schreef olcott:
HHH(Infinite_Recursion) and HHH(DDD) show the same non-halting
behavior pattern in their derived execution traces of their
inputs.
Correct emulation is defined as emulating the machine language
input according to the x86 semantics specified by this input.
For DDD correctly emulated by HHH this includes HHH emulating
itself emulating DDD according to the x86 semantics of itself.
HHH(DDD) shows the exact same execution trace behavior pattern
as HHH(Infinite_Recursion) where 3-4 instructions are repeated
with no conditional branch instructions in this trace that could
prevent them from endlessly repeating.
void Infinite_Recursion()
{
Infinite_Recursion();
}
No, the HHH that aborts after N cycles has a similar behaviour as
So you don't even know that infinite recursion is non-halting behavior.
You can go back and try again on this same post I am not looking at
anything else that you say.
Non halting is only in your dreams. HHH that aborts halts. Dreams are
no substitute for logic.
void Infinite_Recursion()
{
Infinite_Recursion();
}
In other words you are confirming that you
honestly believe the above function halts?
Do you understand that Halts means terminates normally
on its own without being forced to stop running?
void Infinite_Loop()
{
HERE: goto HERE;
}
Do you understand that yanking the power cord out of
the wall does not cause Infinite_Loop() to halt?
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 991 |
Nodes: | 10 (1 / 9) |
Uptime: | 132:00:54 |
Calls: | 12,960 |
Calls today: | 2 |
Files: | 186,574 |
Messages: | 3,266,098 |