From 2b66dfce6ecd9f5227a506472b01d30dc19c7a86 Mon Sep 17 00:00:00 2001 From: Adam Sampson Date: Fri, 11 Sep 2020 00:49:07 +0100 Subject: [PATCH] Avoid POP TP,TP. In the DEC Processor Reference Manual, this is documented as "result is indeterminate", and there's a note in the ITS KL microcode implying that the default KL behaviour was different from the KA. Muddle 54 uses this to drop a temporary stack frame from TP in a few places. If it doesn't work properly, one obvious result is that READing bracketed expressions leaves garbage on the TP stack -- e.g. typing at the interpreter will print a FIX instead. Muddle 56 replaces this with MOVE TP,(TP), so do that as a new patch. --- src/muds54/mud54.init | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/muds54/mud54.init b/src/muds54/mud54.init index 0319d803..122282e3 100644 --- a/src/muds54/mud54.init +++ b/src/muds54/mud54.init @@ -350,6 +350,14 @@ VUP3+13/ JUMPA C,702207 TBLSET/ JFCL TBLSET+3/ PUSH TP,$TWORD +: Modern patches  + +: POP TP,TP behaves differently on non-KA  +CBYST+4/ MOVE TP,(TP) +GLOSEG-3/ MOVE TP,(TP) +FINID/ MOVE TP,(TP) +CARIT1+10/ MOVE TP,(TP) + :pdump mudsav;ts mud54 g