| Deutsch English Français Italiano |
|
<f3609e2dffa380f745312c5cd2d845c2a4b6b28f@i2pn2.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail From: Richard Damon <richard@damon-family.org> Newsgroups: comp.theory Subject: Re: DDD emulated by HHH diverges from DDD emulated by HHH1 Date: Wed, 4 Jun 2025 21:53:33 -0400 Organization: i2pn2 (i2pn.org) Message-ID: <f3609e2dffa380f745312c5cd2d845c2a4b6b28f@i2pn2.org> References: <101khcl$3bfvj$6@dont-email.me> <101mbnh$3sodg$1@dont-email.me> <101njgb$7qau$3@dont-email.me> <4113b5c3cb0e33212819ef36a4de858e40e70cba@i2pn2.org> <101noka$8rb8$4@dont-email.me> <101o96g$db96$3@dont-email.me> <101ob1t$hd6o$3@dont-email.me> <101obrf$hlr6$1@dont-email.me> <101ocan$hd6o$6@dont-email.me> <814d8b767f6a7abc0f5e6b45e940f4c628b47fc1@i2pn2.org> <101ppd7$ta6v$3@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 5 Jun 2025 01:57:25 -0000 (UTC) Injection-Info: i2pn2.org; logging-data="3330689"; mail-complaints-to="usenet@i2pn2.org"; posting-account="diqKR1lalukngNWEqoq9/uFtbkm5U+w3w6FQ0yesrXg"; User-Agent: Mozilla Thunderbird Content-Language: en-US In-Reply-To: <101ppd7$ta6v$3@dont-email.me> X-Spam-Checker-Version: SpamAssassin 4.0.0 Bytes: 7293 Lines: 138 On 6/4/25 11:40 AM, olcott wrote: > On 6/4/2025 6:22 AM, Richard Damon wrote: >> On 6/3/25 10:51 PM, olcott wrote: >>> On 6/3/2025 9:42 PM, dbush wrote: >>>> On 6/3/2025 10:29 PM, olcott wrote: >>>>> On 6/3/2025 8:57 PM, dbush wrote: >>>>>> On 6/3/2025 5:14 PM, olcott wrote: >>>>>>> On 6/3/2025 3:48 PM, joes wrote: >>>>>>>> Am Tue, 03 Jun 2025 14:47:23 -0500 schrieb olcott: >>>>>>>>> On 6/3/2025 3:28 AM, Fred. Zwarts wrote: >>>>>>>>>> Op 02.jun.2025 om 17:52 schreef olcott: >>>>>>>> >>>>>>>>>>> DDD correctly emulated by HHH diverges from DDD correctly >>>>>>>>>>> emulated by >>>>>>>>>>> HHH1 as soon as HHH begins emulating itself emulating DDD, >>>>>>>>>>> marked >>>>>>>>>>> below. >>>>>>>>>>> *HHH1 never emulates itself emulating DDD* >>>>>>>> >>>>>>>>>>> *This is the beginning of the divergence of the behavior* >>>>>>>>>>> *of DDD emulated by HHH versus DDD emulated by HHH1* >>>>>>>> >>>>>>>>>> Misleading words when you change the meaning of diverging. >>>>>>>>>> Mike showed the traces side by side. Even after many requests, >>>>>>>>>> you >>>>>>>>>> still cannot show the first instruction that is interpreted >>>>>>>>>> differently >>>>>>>>>> by HHH and HHH1. The only difference is that HHH gives up the >>>>>>>>>> simulation too early. >>>>>>>>> >>>>>>>>> As soon as HHH begins emulating itself and HHH1 NEVER begins >>>>>>>>> emulating >>>>>>>>> itself THIS IS THE DIVERGENCE. >>>>>>>> Yes, that is exactly the point where HHH aborts. >>>>>>> >>>>>>> Both the divergence and the abort are shown below. >>>>>>> >>>>>>> _DDD() >>>>>>> [00002183] 55 push ebp >>>>>>> [00002184] 8bec mov ebp,esp >>>>>>> [00002186] 6883210000 push 00002183 ; push DDD >>>>>>> [0000218b] e833f4ffff call 000015c3 ; call HHH >>>>>>> [00002190] 83c404 add esp,+04 >>>>>>> [00002193] 5d pop ebp >>>>>>> [00002194] c3 ret >>>>>>> Size in bytes:(0018) [00002194] >>>>>>> >>>>>>> _main() >>>>>>> [000021a3] 55 push ebp >>>>>>> [000021a4] 8bec mov ebp,esp >>>>>>> [000021a6] 6883210000 push 00002183 ; push DDD >>>>>>> [000021ab] e843f3ffff call 000014f3 ; call HHH1 >>>>>>> [000021b0] 83c404 add esp,+04 >>>>>>> [000021b3] 33c0 xor eax,eax >>>>>>> [000021b5] 5d pop ebp >>>>>>> [000021b6] c3 ret >>>>>>> Size in bytes:(0020) [000021b6] >>>>>>> >>>>>>> machine stack stack machine assembly >>>>>>> address address data code language >>>>>>> ======== ======== ======== ========== ============= >>>>>>> [000021a3][0010382d][00000000] 55 push ebp ; main() >>>>>>> [000021a4][0010382d][00000000] 8bec mov ebp,esp ; main() >>>>>>> [000021a6][00103829][00002183] 6883210000 push 00002183 ; push DDD >>>>>>> [000021ab][00103825][000021b0] e843f3ffff call 000014f3 ; call HHH1 >>>>>>> New slave_stack at:1038d1 >>>>>>> >>>>>>> Begin Local Halt Decider Simulation Execution Trace Stored >>>>>>> at:1138d9 >>>>>>> [00002183][001138c9][001138cd] 55 push ebp ; DDD of >>>>>>> HHH1 >>>>>>> [00002184][001138c9][001138cd] 8bec mov ebp,esp ; DDD of >>>>>>> HHH1 >>>>>>> [00002186][001138c5][00002183] 6883210000 push 00002183 ; push DDD >>>>>>> [0000218b][001138c1][00002190] e833f4ffff call 000015c3 ; call HHH >>>>>>> New slave_stack at:14e2f9 >>>>>>> >>>>>>> Begin Local Halt Decider Simulation Execution Trace Stored >>>>>>> at:15e301 >>>>>>> [00002183][0015e2f1][0015e2f5] 55 push ebp ; DDD of >>>>>>> HHH[0] >>>>>>> [00002184][0015e2f1][0015e2f5] 8bec mov ebp,esp ; DDD of >>>>>>> HHH[0] >>>>>>> [00002186][0015e2ed][00002183] 6883210000 push 00002183 ; push DDD >>>>>>> [0000218b][0015e2e9][00002190] e833f4ffff call 000015c3 ; call HHH >>>>>>> New slave_stack at:198d21 >>>>>>> >>>>>>> THIS IS WHERE THE DIVERGENCE OF DDD EMULATED BY HHH >>>>>>> AND DDD EMULATED BY HHH1 BEGINS >>>>>> >>>>>> So how exactly do HHH and HHH1 emulate the first instruction of >>>>>> HHH differently? >>>>>> >>>>> >>>>> The question is incorrect. >>>>> HHH emulates DDD two times and HHH1 emulates DDD one time >>>>> the whole second time is the divergence. >>>> >>>> There is no divergence if the instructions are emulated exactly the >>>> same in both cases. >>> >>> HHH1(DDD) emulates DDD exactly one time. >>> HHH(DDD) emulates DDD exactly two times. >>> >>> The whole second time that HHH emulates DDD is >>> divergence. >>> >> >> You mean it INCORRECT imagining of what it THINKS HHH should do >> because it thinks that HHH is just a correct simulator? >> > > The question is: > At exactly what point does DDD simulated by HHH > diverge from DDD simulated by HHH1? Right, which x86 instruction, correctly simulated, had differing results. > > As soon as HHH simulates itself simulating DDD it is > simulating DDD one more time than DDD simulated by > HHH1 ever gets to. > In other words, your idea of "simulation per the language of the x86 language" isn't actually based on actually emulating the actual x86 instrucitons, but instead presuming that HHH is just a pure simulator that never aborts, and then you let it abort. A "Call HHH" does NOT "create a new stack frame at a brand new block of memory and then look at a different layer of simulation", but pushes the return adderess onto the current stack, and then continues at the code of HHH using that same stack. In other words, your whole argument is LIES upon LIES. Sorry, you have sunk your believability by just ignorning the meaning of the words you are using, and stating factually incorrect statements.