Liste des Groupes | Revenir à c theory |
If you understand the x86 language and can't tell how DDDWe understand it perfectly. HHH cannot possibly simulate itself correctly.
emulated by HHH differs from DDD emulated by HHH1 by the
following then you are probably lying about understanding
the x86 language.
*I did annotate it a little better this time*This is the error in HHH. HHH is programmed to print after two cycles that there is an infinite recursion, which is not true, after which it aborts and halts, making the simulation incorrect.
typedef void (*ptr)();
int HHH(ptr P);
int HHH1(ptr P);
void DDD()
{
HHH(DDD);
}
int main()
{
HHH1(DDD);
}
*You really don't need to know one damn thing else besides this*
*You really don't need to know one damn thing else besides this*
*You really don't need to know one damn thing else besides this*
All that you have to know is that HHH and HHH1 are x86 emulators
and that HHH sees that same repeated state (first four lines of DDD)
that anyone knowing the x86 language can see.
_DDD()
[00002177] 55 push ebp
[00002178] 8bec mov ebp,esp
[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]
_main()
[00002197] 55 push ebp
[00002198] 8bec mov ebp,esp
[0000219a] 6877210000 push 00002177 ' push DDD
[0000219f] e863f3ffff call 00001507 ; call HH1
[000021a4] 83c404 add esp,+04
[000021a7] 33c0 xor eax,eax
[000021a9] 5d pop ebp
[000021aa] c3 ret
Size in bytes:(0020) [000021aa]
machine stack stack machine assembly
address address data code language
======== ======== ======== ========= =============
[00002197][001037fb][00000000] 55 push ebp
[00002198][001037fb][00000000] 8bec mov ebp,esp
[0000219a][001037f7][00002177] 6877210000 push 00002177 ; push DDD
[0000219f][001037f3][000021a4] e863f3ffff call 00001507 ; call HHH1
New slave_stack at:10389f
// emulates 1st instance of DDD that calls HHH(DDD)
Begin Local Halt Decider Simulation Execution Trace Stored at:1138a7
[00002177][00113897][0011389b] 55 push ebp
[00002178][00113897][0011389b] 8bec mov ebp,esp
[0000217a][00113893][00002177] 6877210000 push 00002177 ; push DDD
[0000217f][0011388f][00002184] e853f4ffff call 000015d7 ; call HHH
New slave_stack at:14e2c7
// emulates 2nd instance of DDD that calls HHH(DDD)
Begin Local Halt Decider Simulation Execution Trace Stored at:15e2cf
[00002177][0015e2bf][0015e2c3] 55 push ebp
[00002178][0015e2bf][0015e2c3] 8bec mov ebp,esp
[0000217a][0015e2bb][00002177] 6877210000 push 00002177 ; push DDD
[0000217f][0015e2b7][00002184] e853f4ffff call 000015d7 ; call HHH
New slave_stack at:198cef
// emulates 3rd instance of DDD that calls HHH(DDD)
[00002177][001a8ce7][001a8ceb] 55 push ebp
[00002178][001a8ce7][001a8ceb] 8bec mov ebp,esp
[0000217a][001a8ce3][00002177] 6877210000 push 00002177 ; push DDD
[0000217f][001a8cdf][00002184] e853f4ffff call 000015d7 ; call HHH
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
// returns to 1st instance of DDD emulated by HHH1Olcott's psychology is intriguing. At the one hand he is crying for help. He has some ideas which he cannot prove. Therefore he is begging the exports to help him with a proof.
[00002184][00113897][0011389b] 83c404 add esp,+04
[00002187][0011389b][000015bc] 5d pop ebp
[00002188][0011389f][0003a980] c3 ret
// return to main
[000021a4][001037fb][00000000] 83c404 add esp,+04
[000021a7][001037fb][00000000] 33c0 xor eax,eax
[000021a9][001037ff][00000018] 5d pop ebp
[000021aa][00103803][00000000] c3 ret
Number of Instructions Executed(352831) == 5266 Pages
Les messages affichés proviennent d'usenet.