On 09/08/2025 06:27, olcott wrote:
It is impossible to show how DD correctly simulated
by HHH can possibly reach its own emulated "ret"
instruction
So HHH never returns, so it fails to act as a termination analyzer
because it fails to report its finding.
On 8/9/2025 12:31 AM, Richard Heathfield wrote:
On 09/08/2025 06:27, olcott wrote:
It is impossible to show how DD correctly simulated
by HHH can possibly reach its own emulated "ret"
instruction
So HHH never returns, so it fails to act as a termination
analyzer because it fails to report its finding.
u32 Needs_To_Be_Aborted_Trace_HH
(Decoded_Line_Of_Code* execution_trace,
Decoded_Line_Of_Code *current);
Line 996 matches the
*recursive simulation non-halting behavior pattern* https://github.com/plolcott/x86utm/blob/master/Halt7.c
On 09/08/2025 14:08, olcott wrote:
On 8/9/2025 12:31 AM, Richard Heathfield wrote:
On 09/08/2025 14:08, olcott wrote:
On 8/9/2025 12:31 AM, Richard Heathfield wrote:
On 09/08/2025 06:27, olcott wrote:
It is impossible to show how DD correctly simulated
by HHH can possibly reach its own emulated "ret"
instruction
So HHH never returns, so it fails to act as a termination analyzer
because it fails to report its finding.
u32 Needs_To_Be_Aborted_Trace_HH
(Decoded_Line_Of_Code* execution_trace,
Decoded_Line_Of_Code *current);
Line 996 matches the
*recursive simulation non-halting behavior pattern*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
If HHH doesn't have to report because its u32 needs to be aborted, you
can simplify the code immeasurably.
On 8/9/2025 8:14 AM, Richard Heathfield wrote:
On 09/08/2025 14:08, olcott wrote:
On 8/9/2025 12:31 AM, Richard Heathfield wrote:
On 09/08/2025 06:27, olcott wrote:
It is impossible to show how DD correctly simulated
by HHH can possibly reach its own emulated "ret"
instruction
So HHH never returns, so it fails to act as a termination
analyzer because it fails to report its finding.
u32 Needs_To_Be_Aborted_Trace_HH
(Decoded_Line_Of_Code* execution_trace,
Decoded_Line_Of_Code *current);
Line 996 matches the
*recursive simulation non-halting behavior pattern*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
If HHH doesn't have to report because its u32 needs to be
aborted, you can simplify the code immeasurably.
*That return value is passed back to line 1143 of HHH*
if (Decide_Halting_HH(&Aborted, &execution_trace, &decoded,
code_end, End_Of_Code, &master_state,
&slave_state, &slave_stack, Root))
goto END_OF_CODE;
*Aborted = 0x90909090; // deprecated
*execution_trace = 0x90909090;
return 0; // Does not halt
END_OF_CODE:
*Aborted = 0x90909090; // deprecated
*execution_trace = 0x90909090;
return 1; // Input has normally terminated
}
On 09/08/2025 15:02, olcott wrote:
On 8/9/2025 8:14 AM, Richard Heathfield wrote:
On 09/08/2025 14:08, olcott wrote:
On 8/9/2025 12:31 AM, Richard Heathfield wrote:
On 09/08/2025 06:27, olcott wrote:
It is impossible to show how DD correctly simulated
by HHH can possibly reach its own emulated "ret"
instruction
So HHH never returns, so it fails to act as a termination analyzer
because it fails to report its finding.
u32 Needs_To_Be_Aborted_Trace_HH
(Decoded_Line_Of_Code* execution_trace,
Decoded_Line_Of_Code *current);
Line 996 matches the
*recursive simulation non-halting behavior pattern*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
If HHH doesn't have to report because its u32 needs to be aborted,
you can simplify the code immeasurably.
*That return value is passed back to line 1143 of HHH*
if (Decide_Halting_HH(&Aborted, &execution_trace, &decoded,
code_end, End_Of_Code, &master_state,
&slave_state, &slave_stack, Root))
goto END_OF_CODE;
*Aborted = 0x90909090; // deprecated
*execution_trace = 0x90909090;
return 0; // Does not halt
END_OF_CODE:
*Aborted = 0x90909090; // deprecated
*execution_trace = 0x90909090;
return 1; // Input has normally terminated
}
So HHH /does/ return... with the wrong answer, a la Turing. QED.
On 8/9/2025 12:31 AM, Richard Heathfield wrote:
On 09/08/2025 06:27, olcott wrote:
It is impossible to show how DD correctly simulated
by HHH can possibly reach its own emulated "ret"
instruction
So HHH never returns, so it fails to act as a termination analyzer
because it fails to report its finding.
u32 Needs_To_Be_Aborted_Trace_HH
(Decoded_Line_Of_Code* execution_trace,
Decoded_Line_Of_Code *current);
Line 996 matches the
*recursive simulation non-halting behavior pattern* https://github.com/plolcott/x86utm/blob/master/Halt7.c
On 8/9/2025 9:11 AM, Richard Heathfield wrote:
On 09/08/2025 15:02, olcott wrote:
On 8/9/2025 8:14 AM, Richard Heathfield wrote:
On 09/08/2025 14:08, olcott wrote:
On 8/9/2025 12:31 AM, Richard Heathfield wrote:
On 09/08/2025 06:27, olcott wrote:
It is impossible to show how DD correctly simulated
by HHH can possibly reach its own emulated "ret"
instruction
So HHH never returns, so it fails to act as a termination analyzer >>>>>> because it fails to report its finding.
u32 Needs_To_Be_Aborted_Trace_HH
(Decoded_Line_Of_Code* execution_trace,
Decoded_Line_Of_Code *current);
Line 996 matches the
*recursive simulation non-halting behavior pattern*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
If HHH doesn't have to report because its u32 needs to be aborted,
you can simplify the code immeasurably.
*That return value is passed back to line 1143 of HHH*
if (Decide_Halting_HH(&Aborted, &execution_trace, &decoded,
code_end, End_Of_Code, &master_state,
&slave_state, &slave_stack, Root))
goto END_OF_CODE;
*Aborted = 0x90909090; // deprecated
*execution_trace = 0x90909090;
return 0; // Does not halt
END_OF_CODE:
*Aborted = 0x90909090; // deprecated
*execution_trace = 0x90909090;
return 1; // Input has normally terminated
}
So HHH /does/ return... with the wrong answer, a la Turing. QED.
*It is only the wrong answer to the wrong problem*
Asking HHH to report on the behavior of the directly
executed DD() is like asking sum(3,5) to report on
the sum of 7 + 2.
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 1,064 |
Nodes: | 10 (0 / 10) |
Uptime: | 159:14:20 |
Calls: | 13,691 |
Calls today: | 1 |
Files: | 186,936 |
D/L today: |
7,069 files (2,119M bytes) |
Messages: | 2,411,312 |