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 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 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: | Keyop |
|---|---|
| Location: | Huddersfield, West Yorkshire, UK |
| Users: | 715 |
| Nodes: | 16 (2 / 14) |
| Uptime: | 155:43:38 |
| Calls: | 12,092 |
| Files: | 15,000 |
| Messages: | 6,517,709 |