Sujet : Re: DDD correctly emulated by HHH --- Correct Emulation Defined
De : polcott333 (at) *nospam* gmail.com (olcott)
Groupes : comp.theoryDate : 20. Mar 2025, 15:15:25
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vrh7tv$3d26d$1@dont-email.me>
References : 1 2
User-Agent : Mozilla Thunderbird
On 3/20/2025 6:00 AM, Richard Damon wrote:
On 3/19/25 10:32 PM, olcott wrote:
>
_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]
>
When N steps of DDD are emulated by HHH according
to the semantics of the x86 language then these
N steps are emulated correctly.
>
Right, The N Steps of DDD were emulated correctly, but not the WHOLE of DDD, that wasn't correctly emulated.
After the first four instructions of DDD has been correctly
emulated by HHH and HHH emulates itself correctly emulating
the first four instructions DDD again then
DDD has met the infinite recursion behavior pattern of HHH.
HHH has no idea that DDD is calling itself
See _Infinite_Recursion() BELOW
// executed HHH emulates 1st instance of DDD
New slave_stack at:10388d
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
// emulated HHH emulates 2nd instance of DDD
New slave_stack at:14e2b5
[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
_Infinite_Recursion()
[00002082] 55 push ebp
[00002083] 8bec mov ebp,esp
[00002085] e8f8ffffff call 00002082
[0000208a] 90 nop
[0000208b] 5d pop ebp
[0000208c] c3 ret
Size in bytes:(0011) [0000208c]
HHH only sees that DDD calls the same function twice in
sequence with no conditional branch instructions between
00002082 and 00002085 that could possibly allow
_Infinite_Recursion() to ever reach its own "ret"
instruction.
-- Copyright 2025 Olcott "Talent hits a target no one else can hit; Geniushits a target no one else can see." Arthur Schopenhauer