Re: DD emulated by HHH cannot possibly terminate normally --- x86 code

Liste des GroupesRevenir à cl c 
Sujet : Re: DD emulated by HHH cannot possibly terminate normally --- x86 code
De : mikko.levanto (at) *nospam* iki.fi (Mikko)
Groupes : comp.theory
Date : 01. Mar 2025, 09:22:09
Autres entêtes
Organisation : -
Message-ID : <vpug3h$50td$1@dont-email.me>
References : 1
User-Agent : Unison/2.2
On 2025-03-01 00:47:58 +0000, olcott said:

_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.
The emulator itself is stuck and cannot return normally but it doesn't
know it cannot return normally. At some point it runs out of memory
and terminates normally or abnormally.

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.
When we add an additional complexity we must note that there are other
additional complexities that could be added instead.
--
Mikko

Date Sujet#  Auteur
25 May 25 o 

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal