Deutsch English Français Italiano |
<vptq1a$3st19$19@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: olcott <polcott333@gmail.com> Newsgroups: comp.theory Subject: Re: DD emulated by HHH cannot possibly terminate normally --- x86 code Date: Fri, 28 Feb 2025 20:05:30 -0600 Organization: A noiseless patient Spider Lines: 59 Message-ID: <vptq1a$3st19$19@dont-email.me> References: <vptlfu$3st19$9@dont-email.me> <vptm8b$3tgoc$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sat, 01 Mar 2025 03:05:31 +0100 (CET) Injection-Info: dont-email.me; posting-host="f774896c05da03d2a2f11555a920a204"; logging-data="4092969"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19jSL8mtA+iDKIghXTOKVdn" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:2phgDCXV5Vo+/fc/4fyPjVvKj+Y= X-Antivirus-Status: Clean In-Reply-To: <vptm8b$3tgoc$1@dont-email.me> Content-Language: en-US X-Antivirus: Norton (VPS 250228-8, 2/28/2025), Outbound message Bytes: 3862 On 2/28/2025 7:00 PM, dbush wrote: > On 2/28/2025 7:47 PM, olcott wrote: >> _DD() >> [00002133] 55 push ebp ; housekeeping >> [00002134] 8bec mov ebp,esp ; housekeeping >> [00002136] 51 push ecx ; make space for local >> [00002137] 6833210000 push 00002133 ; push DD >> [0000213c] e882f4ffff call 000015c3 ; call HHH(DD) >> [00002141] 83c404 add esp,+04 >> [00002144] 8945fc mov [ebp-04],eax >> [00002147] 837dfc00 cmp dword [ebp-04],+00 >> [0000214b] 7402 jz 0000214f >> [0000214d] ebfe jmp 0000214d >> [0000214f] 8b45fc mov eax,[ebp-04] >> [00002152] 8be5 mov esp,ebp >> [00002154] 5d pop ebp >> [00002155] c3 ret >> Size in bytes:(0035) [00002155] >> >> When we hypothesize that the code at machine address >> 0000213c is an x86 emulator then we know that DD >> remains stuck in recursive emulation and cannot possibly >> reach its own "ret" instruction and terminate normally. >> >> When we add the additional complexity that HHH also >> aborts this sequence at some point then every level >> of recursive emulation immediately stops. This does >> not enable any DD to ever reach its "ret" instruction. >> > > Likewise: > > 0000000000400534 <no_numbers_greater_than_10>: > 400534: 55 push rbp > 400535: 48 89 e5 mov rbp,rsp > 400538: b8 34 05 40 00 mov eax,0x400534 ; push > no_numbers_greater_than_10 > 40053d: 48 89 c7 mov rdi,rax > 400540: e8 a8 ff ff ff call 4004ed <F> ; call F > 400545: 5d pop rbp > 400546: c3 ret > > When we hypothesize that the code at machine address > 4004ed is an x86 emulator then we know that no_numbers_greater_than_10 > remains stuck in recursive emulation and cannot possibly > reach its own "ret" instruction and terminate normally. > > When we add the additional complexity that F also > aborts this sequence at some point then every level > of recursive emulation immediately stops. This does > not enable any no_numbers_greater_than_10 to ever reach its "ret" > instruction. > So you and your code agrees with me. -- Copyright 2025 Olcott "Talent hits a target no one else can hit; Genius hits a target no one else can see." Arthur Schopenhauer