summary refs log tree commit diff
path: root/quine.asm
diff options
context:
space:
mode:
Diffstat (limited to 'quine.asm')
-rw-r--r--quine.asm34
1 files changed, 33 insertions, 1 deletions
diff --git a/quine.asm b/quine.asm
index 6941bfb..e86e61c 100644
--- a/quine.asm
+++ b/quine.asm
@@ -50,7 +50,7 @@
 ;;; of the overall file, find it by looking at the ASCII names, skip past the
 ;;; codeword, and do ie
 ;;;
-;;; (gdb) disassemble/r 0x0x80007c0,+32
+;;; (gdb) disassemble/r 0x80007c0,+32
 ;;;
 ;;; If you want to see the value stack, you can do
 ;;;
@@ -4247,6 +4247,27 @@ cold_start:
   dq litstring, "exit", early_find, entry_to_execution_token, early_comma
   dq early_here, fetch, lit, 8, packalign, early_here_store
 
+  ; This was "mov_reg64_disp32_reg64".
+  dq litstring, "mov-reg64-disp32-reg64", early_create, early_docol_codeword
+  dq litstring, "lit", early_find, entry_to_execution_token, early_comma
+  dq lit, 4, early_comma
+  dq litstring, "roll", early_find, entry_to_execution_token, early_comma
+  dq litstring, "rex-w", early_find, entry_to_execution_token, early_comma
+  dq litstring, "lit", early_find, entry_to_execution_token, early_comma
+  dq lit, 0x89, early_comma
+  dq litstring, "pack8", early_find, entry_to_execution_token, early_comma
+  dq litstring, "lit", early_find, entry_to_execution_token, early_comma
+  dq lit, 4, early_comma
+  dq litstring, "unroll", early_find, entry_to_execution_token, early_comma
+  dq litstring, "3roll", early_find, entry_to_execution_token, early_comma
+  dq litstring, "reg64", early_find, entry_to_execution_token, early_comma
+  dq litstring, "swap", early_find, entry_to_execution_token, early_comma
+  dq litstring, "3roll", early_find, entry_to_execution_token, early_comma
+  dq litstring, "addressing-disp32-reg64", early_find
+  dq entry_to_execution_token, early_comma
+  dq litstring, "exit", early_find, entry_to_execution_token, early_comma
+  dq early_here, fetch, lit, 8, packalign, early_here_store
+
   ; This was "mov_reg64_indexed_reg64".
   dq litstring, "mov-reg64-indexed-reg64", early_create, early_docol_codeword
   dq litstring, "lit", early_find, entry_to_execution_token, early_comma
@@ -9997,6 +10018,17 @@ defword mov_reg64_disp8_reg64, 0
 
 ; Stack:
 ;   output point
+;   source register name
+;   source displacement value
+;   target register name
+defword mov_reg64_disp32_reg64, 0
+  dq docol
+  dq lit, 4, roll, rex_w, lit, 0x89, pack8, lit, 4, unroll
+  dq roll3, reg64, swap, roll3, addressing_disp32_reg64
+  dq exit
+
+; Stack:
+;   output point
 ;   source base register name
 ;   source index register name
 ;   source index scale factor, as a count of bytes