annotate lisp/progmodes/mixal-mode.el @ 65917:1d13305ed9b9

*** empty log message ***
author Glenn Morris <rgm@gnu.org>
date Sat, 08 Oct 2005 04:46:48 +0000
parents 4dd2a1379398
children 20752359c953 a3716f7538f2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
51592
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1 ;;; mixal-mode.el --- Major mode for the mix asm language.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
2
64699
629afbe74e61 Update copyright for release of 22.1 for progmodes directory.
Nick Roberts <nickrob@snap.net.nz>
parents: 64085
diff changeset
3 ;; Copyright (C) 2003, 2004, 2005 Free Software Foundation
51592
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
4
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
5 ;; This program is free software; you can redistribute it and/or
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
6 ;; modify it under the terms of the GNU General Public License as
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
7 ;; published by the Free Software Foundation; either version 2 of
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
8 ;; the License, or (at your option) any later version.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
9
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
10 ;; This program is distributed in the hope that it will be
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
11 ;; useful, but WITHOUT ANY WARRANTY; without even the implied
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
12 ;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
13 ;; PURPOSE. See the GNU General Public License for more details.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
14
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
15 ;; You should have received a copy of the GNU General Public
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
16 ;; License along with this program; if not, write to the Free
64085
18a818a2ee7c Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 59247
diff changeset
17 ;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18a818a2ee7c Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 59247
diff changeset
18 ;; MA 02110-1301 USA
51592
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
19
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
20 ;; Author: Pieter E.J. Pareit <pieter.pareit@skynet.be>
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
21 ;; Maintainer: Pieter E.J. Pareit <pieter.pareit@skynet.be>
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
22 ;; Created: 09 Nov 2002
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
23 ;; Version: 0.1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
24 ;; Keywords: Knuth mix mixal asm mixvm "The Art Of Computer Programming"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
25
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
26 ;;; Commentary:
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
27 ;; Major mode for the mix asm language.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
28 ;; The mix asm language is described in "The Art Of Computer Programming".
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
29 ;;
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
30 ;; For optimal use, also use GNU MDK. Compiling needs mixasm, running
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
31 ;; and debugging needs mixvm and mixvm.el from GNU MDK. You can get
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
32 ;; GNU MDK from `https://savannah.gnu.org/projects/mdk/' and
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
33 ;; `ftp://ftp.gnu.org/pub/gnu/mdk'.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
34 ;;
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
35 ;; To use this mode, place the following in your .emacs file:
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
36 ;; `(load-file "/PATH-TO-FILE/mixal-mode.el")'.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
37 ;; When you load a file with the extension .mixal the mode will be started
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
38 ;; automatic. If you want to start the mode manual, use `M-x mixal-mode'.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
39 ;; Font locking will work, the behavior of tabs is the same as emacs
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
40 ;; default behavior. You can compile a source file with `C-c c' you can
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
41 ;; run a compiled file with `C-c r' or run it in debug mode with `C-c d'.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
42 ;; You can get more information about a particular operation code by using
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
43 ;; mixal-describe-operation-code or `C-h o'.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
44 ;;
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
45 ;; Have fun.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
46
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
47 ;;; History:
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
48 ;; Version 0.1:
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
49 ;; Version 0.1.1:
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
50 ;; 22/11/02: bugfix in fontlocking, needed to add a '-' to the regex.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
51 ;; 19/11/02: completed implementing mixal-describe-operation-code.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
52 ;; 13/11/02: implemented compile, mixal-run and mixal-debug.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
53 ;; 10/11/02: implemented font-locking and syntax table.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
54 ;; 09/11/02: started mixal-mode.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
55
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
56 ;;; Code:
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
57
65236
4dd2a1379398 (compile-command): Add defvar.
Juanma Barranquero <lekktu@gmail.com>
parents: 64699
diff changeset
58 (defvar compile-command)
4dd2a1379398 (compile-command): Add defvar.
Juanma Barranquero <lekktu@gmail.com>
parents: 64699
diff changeset
59
51592
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
60 ;;; Key map
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
61 (defvar mixal-mode-map
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
62 (let ((map (make-sparse-keymap)))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
63 (define-key map "\C-cc" 'compile)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
64 (define-key map "\C-cr" 'mixal-run)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
65 (define-key map "\C-cd" 'mixal-debug)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
66 (define-key map "\C-ho" 'mixal-describe-operation-code)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
67 map)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
68 "Keymap for `mixal-mode'.")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
69 ; (makunbound 'mixal-mode-map)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
70
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
71 ;;; Syntax table
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
72 (defvar mixal-mode-syntax-table
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
73 (let ((st (make-syntax-table)))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
74 (modify-syntax-entry ?* "<" st)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
75 (modify-syntax-entry ?\n ">" st)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
76 st)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
77 "Syntax table for `dot-mode'.")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
78
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
79 (defvar mixal-font-lock-label-face 'font-lock-variable-name-face
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
80 "Face name to use for label names.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
81 Default value is that of `font-lock-variable-name-face', but you can modify
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
82 its value.")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
83
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
84 (defvar mixal-font-lock-operation-code-face 'font-lock-keyword-face
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
85 "Face name to use for operation code names.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
86 Default value is that of `font-lock-keyword-face', but you can modify its
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
87 value.")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
88
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
89 (defvar mixal-font-lock-assembly-pseudoinstruction-face 'font-lock-builtin-face
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
90 "Face name to use for assembly pseudoinstruction names.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
91 Default value is that of `font-lock-builtin-face', but you can modify its
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
92 value.")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
93
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
94 (defvar mixal-operation-codes
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
95 '("NOP" "ADD" "FADD" "SUB" "FSUB" "MUL" "FMUL" "DIV" "FDIV" "NUM" "CHAR"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
96 "HLT" "SLA" "SRA" "SLAX" "SRAX" "SLC" "SRC" "MOVE" "LDA" "LD1" "LD2" "LD3"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
97 "LD4" "LD5" "LD6" "LDX" "LDAN" "LD1N" "LD2N" "LD3N" "LD4N" "LD5N" "LD6N"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
98 "LDXN" "STA" "ST1" "ST2" "ST3" "ST4" "ST5" "ST6" "STX" "STJ" "STZ" "JBUS"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
99 "IOC" "IN" "OUT" "JRAD" "JMP" "JSJ" "JOV" "JNOV"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
100 "JAN" "J1N" "J2N" "J3N" "J4N" "J5N" "J6N" "JXN"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
101 "JAZ" "J1Z" "J2Z" "J3Z" "J4Z" "J5Z" "J6Z" "JXZ"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
102 "JAP" "J1P" "J2P" "J3P" "J4P" "J5P" "J6P" "JXP"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
103 "JANN" "J1NN" "J2NN" "J3NN" "J4NN" "J5NN" "J6NN" "JXNN"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
104 "JANZ" "J1NZ" "J2NZ" "J3NZ" "J4NZ" "J5NZ" "J6NZ" "JXNZ"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
105 "JANP" "J1NP" "J2NP" "J3NP" "J4NP" "J5NP" "J6NP" "JXNP"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
106 "INCA" "DECA" "ENTA" "ENNA" "INC1" "DEC1" "ENT1" "ENN1"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
107 "INC2" "DEC2" "ENT2" "ENN2" "INC3" "DEC3" "ENT3" "ENN3" "INC4" "DEC4"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
108 "ENT4" "ENN4" "INC5" "DEC5" "ENT5" "ENN5" "INC6" "DEC6" "ENT6" "ENN6"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
109 "INCX" "DECX" "ENTX" "ENNX" "CMPA" "FCMP" "CMP1" "CMP2" "CMP3" "CMP4"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
110 "CMP5" "CMP6" "CMPX")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
111 "List of possible operation codes as strings.")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
112 ; (makunbound 'mixal-operation-codes)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
113
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
114 (defvar mixal-assembly-pseudoinstructions
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
115 '("ORIG" "EQU" "CON" "ALF" "END")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
116 "List of possible assembly pseudoinstructions")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
117
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
118 ;;; Font-locking:
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
119 (defvar mixal-font-lock-keywords
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
120 `(("^\\([A-Z0-9a-z]+\\).*$"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
121 (1 mixal-font-lock-label-face))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
122 (,(regexp-opt mixal-operation-codes 'words)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
123 . mixal-font-lock-operation-code-face)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
124 (,(regexp-opt
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
125 mixal-assembly-pseudoinstructions 'words)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
126 . mixal-font-lock-assembly-pseudoinstruction-face)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
127 ("^[A-Z0-9a-z]*[ \t]+[A-Z0-9a-z]+[ \t]+[\\-A-Z0-9a-z,():]*[\t]+\\(.*\\)$"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
128 (1 font-lock-comment-face)))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
129 "Keyword highlighting specification for `mixal-mode'.")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
130 ; (makunbound 'mixal-font-lock-keywords)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
131
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
132 ;;;; Compilation
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
133 ;; Output from mixasm is compatible with default behavior of emacs,
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
134 ;; I just added a key (C-cc) and modified the make-command.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
135
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
136 ;;;; Indentation
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
137 ;; Tabs works well by default.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
138
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
139 ;;;; Describe
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
140 (defvar mixal-operation-codes-alist '()
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
141 "Alist that contains all the possible operation codes for mix.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
142 Each elt has the form (OP-CODE GROUP FULL-NAME C-BYTE F-BYTE DESCRIPTION EXECUTION-TIME)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
143 Where OP-CODE is the text of the opcode as an symbol, FULL-NAME is the human readable name
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
144 as a string, C-BYTE is the operation code telling what operation is to be performed, F-BYTE holds
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
145 an modification of the operation code which can be a symbol or a number, DESCRIPTION contains
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
146 an string with a description about the operation code and EXECUTION-TIME holds info
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
147 about the time it takes, number or string.")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
148 ; (makunbound 'mixal-operation-codes-alist)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
149
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
150 (defun mixal-add-operation-code (op-code group full-name C-byte F-byte description execution-time)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
151 "Add an operation code to the list that contains information about possible op code's."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
152 (setq mixal-operation-codes-alist (cons (list op-code group full-name C-byte F-byte
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
153 description execution-time)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
154 mixal-operation-codes-alist )))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
155
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
156 ;; now add each operation code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
157
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
158 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
159 'LDA 'loading "load A" 8 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
160 "Put in rA the contents of cell no. M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
161 Uses a + when there is no sign in subfield. Subfield is left padded with
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
162 zeros to make a word."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
163 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
164
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
165 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
166 'LDX 'loading "load X" 15 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
167 "Put in rX the contents of cell no. M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
168 Uses a + when there is no sign in subfield. Subfield is left padded with
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
169 zeros to make a word."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
170 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
171
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
172 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
173 'LD1 'loading "load I1" (+ 8 1) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
174 "Put in rI1 the contents of cell no. M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
175 Uses a + when there is no sign in subfield. Subfield is left padded with
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
176 zeros to make a word. Index registers only have 2 bytes and a sign, Trying
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
177 to set anything more that that will result in undefined behavior."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
178 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
179
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
180 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
181 'LD2 'loading "load I2" (+ 8 2) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
182 "Put in rI2 the contents of cell no. M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
183 Uses a + when there is no sign in subfield. Subfield is left padded with
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
184 zeros to make a word. Index registers only have 2 bytes and a sign, Trying
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
185 to set anything more that that will result in undefined behavior."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
186 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
187
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
188 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
189 'LD3 'loading "load I3" (+ 8 3) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
190 "Put in rI3 the contents of cell no. M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
191 Uses a + when there is no sign in subfield. Subfield is left padded with
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
192 zeros to make a word. Index registers only have 2 bytes and a sign, Trying
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
193 to set anything more that that will result in undefined behavior."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
194 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
195
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
196 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
197 'LD4 'loading "load I4" (+ 8 4) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
198 "Put in rI4 the contents of cell no. M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
199 Uses a + when there is no sign in subfield. Subfield is left padded with
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
200 zeros to make a word. Index registers only have 2 bytes and a sign, Trying
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
201 to set anything more that that will result in undefined behavior."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
202 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
203
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
204 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
205 'LD5 'loading "load I5" (+ 8 5) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
206 "Put in rI5 the contents of cell no. M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
207 Uses a + when there is no sign in subfield. Subfield is left padded with
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
208 zeros to make a word. Index registers only have 2 bytes and a sign, Trying
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
209 to set anything more that that will result in undefined behavior."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
210 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
211
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
212 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
213 'LD6 'loading "load I6" (+ 8 6) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
214 "Put in rI6 the contents of cell no. M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
215 Uses a + when there is no sign in subfield. Subfield is left padded with
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
216 zeros to make a word. Index registers only have 2 bytes and a sign, Trying
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
217 to set anything more that that will result in undefined behavior."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
218 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
219
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
220 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
221 'LDAN 'loading "load A negative" 16 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
222 "Put in rA the contents of cell no. M, with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
223 Uses a + when there is no sign in subfield, otherwise use the opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
224 Subfield is left padded with zeros to make a word."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
225 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
226
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
227 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
228 'LDXN 'loading "load X negative" 23 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
229 "Put in rX the contents of cell no. M, with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
230 Uses a + when there is no sign in subfield, otherwise use the opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
231 Subfield is left padded with zeros to make a word."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
232 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
233
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
234 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
235 'LD1N 'loading "load I1 negative" (+ 16 1) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
236 "Put in rI1 the contents of cell no. M, with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
237 Uses a + when there is no sign in subfield, otherwise use the opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
238 Subfield is left padded with zeros to make a word. Index registers only
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
239 have 2 bytes and a sign, Trying to set anything more that that will result
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
240 in undefined behavior."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
241 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
242
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
243 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
244 'LD2N 'loading "load I2 negative" (+ 16 2) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
245 "Put in rI2 the contents of cell no. M, with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
246 Uses a + when there is no sign in subfield, otherwise use the opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
247 Subfield is left padded with zeros to make a word. Index registers only
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
248 have 2 bytes and a sign, Trying to set anything more that that will result
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
249 in undefined behavior."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
250 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
251
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
252 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
253 'LD3N 'loading "load I3 negative" (+ 16 3) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
254 "Put in rI3 the contents of cell no. M, with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
255 Uses a + when there is no sign in subfield, otherwise use the opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
256 Subfield is left padded with zeros to make a word. Index registers only
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
257 have 2 bytes and a sign, Trying to set anything more that that will result
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
258 in undefined behavior."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
259 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
260
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
261 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
262 'LD4N 'loading "load I4 negative" (+ 16 4) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
263 "Put in rI4 the contents of cell no. M, with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
264 Uses a + when there is no sign in subfield, otherwise use the opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
265 Subfield is left padded with zeros to make a word. Index registers only
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
266 have 2 bytes and a sign, Trying to set anything more that that will result
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
267 in undefined behavior."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
268 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
269
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
270 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
271 'LD5N 'loading "load I5 negative" (+ 16 5) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
272 "Put in rI5 the contents of cell no. M, with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
273 Uses a + when there is no sign in subfield, otherwise use the opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
274 Subfield is left padded with zeros to make a word. Index registers only
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
275 have 2 bytes and a sign, Trying to set anything more that that will result
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
276 in undefined behavior."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
277 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
278
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
279 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
280 'LD6N 'loading "load I6 negative" (+ 16 6) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
281 "Put in rI6 the contents of cell no. M, with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
282 Uses a + when there is no sign in subfield, otherwise use the opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
283 Subfield is left padded with zeros to make a word. Index registers only
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
284 have 2 bytes and a sign, Trying to set anything more that that will result
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
285 in undefined behavior."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
286 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
287
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
288 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
289 'STA 'storing "store A" 24 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
290 "Store in cell Nr. M the contents of rA.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
291 The modification of the operation code represents the subfield of the
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
292 memory cell that is to be overwritten with bytes from a register. These
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
293 bytes are taken beginning by the rightmost side of the register. The
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
294 sign of the memory cell is not changed, unless it is part of the subfield."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
295 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
296
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
297 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
298 'STX 'storing "store X" 31 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
299 "Store in cell Nr. M the contents of rX.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
300 The modification of the operation code represents the subfield of the
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
301 memory cell that is to be overwritten with bytes from a register. These
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
302 bytes are taken beginning by the rightmost side of the register. The
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
303 sign of the memory cell is not changed, unless it is part of the subfield."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
304 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
305
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
306 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
307 'ST1 'storing "store I1" (+ 24 1) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
308 "Store in cell Nr. M the contents of rI1.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
309 The modification of the operation code represents the subfield of the
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
310 memory cell that is to be overwritten with bytes from a register. These
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
311 bytes are taken beginning by the rightmost side of the register. The
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
312 sign of the memory cell is not changed, unless it is part of the subfield.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
313 Because index registers only have 2 bytes and a sign, the rest of the bytes
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
314 are assumed to be 0."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
315 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
316
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
317 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
318 'ST2 'storing "store I2" (+ 24 2) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
319 "Store in cell Nr. M the contents of rI2.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
320 The modification of the operation code represents the subfield of the
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
321 memory cell that is to be overwritten with bytes from a register. These
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
322 bytes are taken beginning by the rightmost side of the register. The
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
323 sign of the memory cell is not changed, unless it is part of the subfield.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
324 Because index registers only have 2 bytes and a sign, the rest of the bytes
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
325 are assumed to be 0."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
326 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
327
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
328 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
329 'ST3 'storing "store I3" (+ 24 3) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
330 "Store in cell Nr. M the contents of rI3.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
331 The modification of the operation code represents the subfield of the
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
332 memory cell that is to be overwritten with bytes from a register. These
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
333 bytes are taken beginning by the rightmost side of the register. The
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
334 sign of the memory cell is not changed, unless it is part of the subfield.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
335 Because index registers only have 2 bytes and a sign, the rest of the bytes
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
336 are assumed to be 0."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
337 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
338
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
339 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
340 'ST4 'storing "store I4" (+ 24 4) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
341 "Store in cell Nr. M the contents of rI4.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
342 The modification of the operation code represents the subfield of the
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
343 memory cell that is to be overwritten with bytes from a register. These
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
344 bytes are taken beginning by the rightmost side of the register. The
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
345 sign of the memory cell is not changed, unless it is part of the subfield.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
346 Because index registers only have 2 bytes and a sign, the rest of the bytes
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
347 are assumed to be 0."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
348 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
349
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
350 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
351 'ST5 'storing "store I5" (+ 24 5) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
352 "Store in cell Nr. M the contents of rI5.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
353 The modification of the operation code represents the subfield of the
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
354 memory cell that is to be overwritten with bytes from a register. These
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
355 bytes are taken beginning by the rightmost side of the register. The
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
356 sign of the memory cell is not changed, unless it is part of the subfield.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
357 Because index registers only have 2 bytes and a sign, the rest of the bytes
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
358 are assumed to be 0."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
359 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
360
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
361 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
362 'ST6 'storing "store I6" (+ 24 6) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
363 "Store in cell Nr. M the contents of rI6.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
364 The modification of the operation code represents the subfield of the
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
365 memory cell that is to be overwritten with bytes from a register. These
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
366 bytes are taken beginning by the rightmost side of the register. The
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
367 sign of the memory cell is not changed, unless it is part of the subfield.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
368 Because index registers only have 2 bytes and a sign, the rest of the bytes
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
369 are assumed to be 0."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
370 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
371
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
372 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
373 'STJ 'storing "store J" 32 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
374 "Store in cell Nr. M the contents of rJ.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
375 The modification of the operation code represents the subfield of the
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
376 memory cell that is to be overwritten with bytes from a register. These
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
377 bytes are taken beginning by the rightmost side of the register. The sign
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
378 of rJ is always +, sign of the memory cell is not changed, unless it is
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
379 part of the subfield. The default field for STJ is (0:2)."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
380 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
381
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
382 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
383 'STZ 'storing "store zero" 33 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
384 "Store in cell Nr. M '+ 0'.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
385 The modification of the operation code represents the subfield of the
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
386 memory cell that is to be overwritten with zeros."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
387 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
388
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
389 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
390 'ADD 'arithmetic "add" 1 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
391 "Add to A the contents of cell Nr. M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
392 Subfield is padded with zero to make a word.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
393 If the result is to large, the operation result modulo 1,073,741,823 (the
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
394 maximum value storable in a MIX word) is stored in `rA', and the overflow
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
395 toggle is set to TRUE."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
396 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
397
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
398 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
399 'SUB 'arithmetic "subtract" 2 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
400 "Subtract to A the contents of cell Nr. M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
401 Subfield is padded with zero to make a word.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
402 If the result is to large, the operation result modulo 1,073,741,823 (the
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
403 maximum value storable in a MIX word) is stored in `rA', and the overflow
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
404 toggle is set to TRUE."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
405 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
406
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
407 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
408 'MUL 'arithmetic "multiply" 3 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
409 "Multiplies the contents of cell Nr. M with A, result is 10 bytes and stored in rA and rX.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
410 The sign is + if the sign of rA and cell M where the same, otherwise, it is -"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
411 10)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
412
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
413 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
414 'DIV 'arithmetic "divide" 4 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
415 "Both rA and rX are taken together and divided by cell Nr. M, quotient is placed in rA, remainder in rX.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
416 The sign is taken from rA, and after the divide the sign of rA is set to + when
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
417 both the sign of rA and M where the same. Divide by zero and overflow of rA result
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
418 in undefined behavior."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
419 12)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
420
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
421 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
422 'ENTA 'address-transfer "enter A" 48 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
423 "Literal value is stored in rA.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
424 Indexed, stores value of index in rA."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
425 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
426
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
427 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
428 'ENTX 'address-transfer "enter X" 55 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
429 "Literal value is stored in rX.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
430 Indexed, stores value of index in rX."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
431 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
432
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
433 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
434 'ENT1 'address-transfer "Enter rI1" (+ 48 1) 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
435 "Literal value is stored in rI1.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
436 Indexed, stores value of index in rI1."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
437 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
438
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
439 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
440 'ENT2 'address-transfer "Enter rI2" (+ 48 2) 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
441 "Literal value is stored in rI2.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
442 Indexed, stores value of index in rI2."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
443 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
444
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
445 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
446 'ENT3 'address-transfer "Enter rI3" (+ 48 3) 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
447 "Literal value is stored in rI3.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
448 Indexed, stores value of index in rI3."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
449 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
450
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
451 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
452 'ENT4 'address-transfer "Enter rI4" (+ 48 4) 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
453 "Literal value is stored in rI4.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
454 Indexed, stores value of index in rI4."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
455 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
456
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
457 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
458 'ENT5 'address-transfer "Enter rI5" (+ 48 5) 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
459 "Literal value is stored in rI5.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
460 Indexed, stores value of index in rI5."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
461 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
462
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
463 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
464 'ENT6 'address-transfer "Enter rI6" (+ 48 6) 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
465 "Literal value is stored in rI6.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
466 Indexed, stores value of index in rI6."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
467 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
468
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
469 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
470 'ENNA 'address-transfer "enter negative A" 48 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
471 "Literal value is stored in rA with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
472 Indexed, stores value of index in rA with opposite sign."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
473 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
474
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
475 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
476 'ENNX 'address-transfer "enter negative X" 55 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
477 "Literal value is stored in rX with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
478 Indexed, stores value of index in rX with opposite sign."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
479 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
480
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
481 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
482 'ENN1 'address-transfer "Enter negative rI1" (+ 48 1) 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
483 "Literal value is stored in rI1 with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
484 Indexed, stores value of index in rI1 with opposite sign."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
485 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
486
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
487 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
488 'ENN2 'address-transfer "Enter negative rI2" (+ 48 2) 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
489 "Literal value is stored in rI2 with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
490 Indexed, stores value of index in rI2 with opposite sign."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
491 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
492
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
493 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
494 'ENN3 'address-transfer "Enter negative rI3" (+ 48 3) 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
495 "Literal value is stored in rI3 with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
496 Indexed, stores value of index in rI3 with opposite sign."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
497 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
498
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
499 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
500 'ENN4 'address-transfer "Enter negative rI4" (+ 48 4) 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
501 "Literal value is stored in rI4 with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
502 Indexed, stores value of index in rI4 with opposite sign."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
503 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
504
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
505 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
506 'ENN5 'address-transfer "Enter negative rI5" (+ 48 5) 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
507 "Literal value is stored in rI5 with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
508 Indexed, stores value of index in rI5 with opposite sign."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
509 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
510
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
511 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
512 'ENN6 'address-transfer "Enter negative rI6" (+ 48 6) 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
513 "Literal value is stored in rI6 with opposite sign.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
514 Indexed, stores value of index in rI6 with opposite sign."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
515 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
516
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
517 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
518 'INCA 'address-transfer "increase A" 48 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
519 "Increase register A with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
520 On overflow the overflow toggle is set."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
521 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
522
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
523 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
524 'INCX 'address-transfer "increase X" 55 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
525 "Increase register X with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
526 On overflow the overflow toggle is set."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
527 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
528
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
529 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
530 'INC1 'address-transfer "increase I1" (+ 48 1) 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
531 "Increase register I1 with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
532 The result is undefined when the result does not fit in
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
533 2 bytes."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
534 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
535
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
536 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
537 'INC2 'address-transfer "increase I2" (+ 48 2) 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
538 "Increase register I2 with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
539 The result is undefined when the result does not fit in
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
540 2 bytes."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
541 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
542
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
543 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
544 'INC3 'address-transfer "increase I3" (+ 48 3) 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
545 "Increase register I3 with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
546 The result is undefined when the result does not fit in
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
547 2 bytes."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
548 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
549
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
550 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
551 'INC4 'address-transfer "increase I4" (+ 48 4) 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
552 "Increase register I4 with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
553 The result is undefined when the result does not fit in
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
554 2 bytes."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
555 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
556
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
557 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
558 'INC5 'address-transfer "increase I5" (+ 48 5) 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
559 "Increase register I5 with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
560 The result is undefined when the result does not fit in
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
561 2 bytes."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
562 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
563
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
564 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
565 'INC6 'address-transfer "increase I6" (+ 48 6) 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
566 "Increase register I6 with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
567 The result is undefined when the result does not fit in
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
568 2 bytes."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
569 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
570
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
571 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
572 'DECA 'address-transfer "decrease A" 48 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
573 "Decrease register A with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
574 On overflow the overflow toggle is set."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
575 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
576
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
577 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
578 'DECX 'address-transfer "decrease X" 55 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
579 "Decrease register X with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
580 On overflow the overflow toggle is set."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
581 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
582
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
583 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
584 'DEC1 'address-transfer "decrease I1" (+ 48 1) 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
585 "Decrease register I1 with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
586 The result is undefined when the result does not fit in
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
587 2 bytes."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
588 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
589
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
590 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
591 'DEC2 'address-transfer "decrease I2" (+ 48 2) 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
592 "Decrease register I2 with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
593 The result is undefined when the result does not fit in
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
594 2 bytes."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
595 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
596
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
597 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
598 'DEC3 'address-transfer "decrease I3" (+ 48 3) 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
599 "Decrease register I3 with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
600 The result is undefined when the result does not fit in
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
601 2 bytes."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
602 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
603
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
604 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
605 'DEC4 'address-transfer "decrease I4" (+ 48 4) 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
606 "Decrease register I4 with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
607 The result is undefined when the result does not fit in
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
608 2 bytes."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
609 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
610
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
611 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
612 'DEC5 'address-transfer "decrease I5" (+ 48 5) 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
613 "Decrease register I5 with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
614 The result is undefined when the result does not fit in
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
615 2 bytes."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
616 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
617
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
618 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
619 'DEC6 'address-transfer "decrease I6" (+ 48 6) 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
620 "Decrease register I6 with the literal value of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
621 The result is undefined when the result does not fit in
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
622 2 bytes."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
623 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
624
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
625 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
626 'CMPA 'comparison "compare A" 56 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
627 "Compare contents of A with contents of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
628 The field specifier works on both fields. The comparison indicator
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
629 is set to LESS, EQUAL or GREATER depending on the outcome."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
630 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
631
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
632
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
633 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
634 'CMPX 'comparison "compare X" 63 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
635 "Compare contents of rX with contents of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
636 The field specifier works on both fields. The comparison indicator
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
637 is set to LESS, EQUAL or GREATER depending on the outcome."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
638 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
639
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
640
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
641 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
642 'CMP1 'comparison "compare I1" (+ 56 1) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
643 "Compare contents of rI1 with contents of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
644 The field specifier works on both fields. The comparison indicator
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
645 is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
646 have a value of 0."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
647 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
648
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
649
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
650 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
651 'CMP2 'comparison "compare I2" (+ 56 2) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
652 "Compare contents of rI2 with contents of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
653 The field specifier works on both fields. The comparison indicator
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
654 is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
655 have a value of 0."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
656 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
657
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
658
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
659 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
660 'CMP3 'comparison "compare I3" (+ 56 3) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
661 "Compare contents of rI3 with contents of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
662 The field specifier works on both fields. The comparison indicator
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
663 is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
664 have a value of 0."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
665 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
666
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
667
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
668 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
669 'CMP4 'comparison "compare I4" (+ 56 4) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
670 "Compare contents of rI4 with contents of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
671 The field specifier works on both fields. The comparison indicator
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
672 is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
673 have a value of 0."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
674 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
675
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
676
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
677 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
678 'CMP5 'comparison "compare I5" (+ 56 5) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
679 "Compare contents of rI5 with contents of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
680 The field specifier works on both fields. The comparison indicator
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
681 is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
682 have a value of 0."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
683 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
684
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
685
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
686 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
687 'CMP6 'comparison "compare I6" (+ 56 6) 'field
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
688 "Compare contents of rI6 with contents of M.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
689 The field specifier works on both fields. The comparison indicator
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
690 is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
691 have a value of 0."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
692 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
693
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
694 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
695 'JMP 'jump "jump" 39 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
696 "Unconditional jump.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
697 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
698 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
699 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
700
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
701 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
702 'JSJ 'jump "jump, save J" 39 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
703 "Unconditional jump, but rJ is not modified."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
704 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
705
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
706 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
707 'JOV 'jump "jump on overflow" 39 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
708 "Jump if OV is set (and turn it off).
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
709 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
710 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
711 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
712
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
713 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
714 'JNOV 'jump "Jump on no overflow" 39 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
715 "Jump if OV is not set (and turn it off).
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
716 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
717 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
718 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
719
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
720 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
721 'JL 'jump "Jump on less" 39 4
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
722 "Jump if '[CM] = L'.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
723 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
724 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
725 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
726
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
727
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
728 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
729 'JE 'jump "Jump on equal" 39 5
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
730 "Jump if '[CM] = E'.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
731 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
732 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
733 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
734
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
735
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
736 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
737 'JG 'jump "Jump on greater" 39 6
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
738 "Jump if '[CM] = G'.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
739 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
740 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
741 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
742
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
743
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
744 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
745 'JGE 'jump "Jump on not less" 39 7
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
746 "Jump if '[CM]' does not equal 'L'.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
747 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
748 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
749 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
750
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
751
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
752 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
753 'JNE 'jump "Jump on not equal" 39 8
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
754 "Jump if '[CM]' does not equal 'E'.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
755 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
756 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
757 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
758
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
759
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
760 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
761 'JLE 'jump "Jump on not greater" 39 9
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
762 "Jump if '[CM]' does not equal 'G'.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
763 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
764 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
765 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
766
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
767 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
768 'JAN 'jump "jump A negative" 40 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
769 "Jump if the content of rA is negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
770 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
771 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
772 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
773
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
774
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
775 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
776 'JAZ 'jump "jump A zero" 40 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
777 "Jump if the content of rA is zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
778 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
779 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
780 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
781
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
782
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
783 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
784 'JAP 'jump "jump A positive" 40 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
785 "Jump if the content of rA is positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
786 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
787 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
788 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
789
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
790
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
791 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
792 'JANN 'jump "jump A non-negative" 40 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
793 "Jump if the content of rA is non-negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
794 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
795 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
796 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
797
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
798
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
799 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
800 'JANZ 'jump "jump A non-zero" 40 4
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
801 "Jump if the content of rA is non-zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
802 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
803 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
804 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
805
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
806
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
807 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
808 'JANP 'jump "jump A non-positive" 40 5
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
809 "Jump if the content of rA is non-positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
810 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
811 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
812 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
813
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
814 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
815 'JXN 'jump "jump X negative" 47 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
816 "Jump if the content of rX is negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
817 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
818 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
819 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
820
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
821
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
822 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
823 'JXZ 'jump "jump X zero" 47 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
824 "Jump if the content of rX is zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
825 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
826 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
827 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
828
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
829
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
830 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
831 'JXP 'jump "jump X positive" 47 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
832 "Jump if the content of rX is positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
833 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
834 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
835 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
836
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
837
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
838 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
839 'JXNN 'jump "jump X non-negative" 47 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
840 "Jump if the content of rX is non-negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
841 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
842 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
843 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
844
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
845
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
846 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
847 'JXNZ 'jump "jump X non-zero" 47 4
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
848 "Jump if the content of rX is non-zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
849 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
850 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
851 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
852
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
853
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
854 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
855 'JXNP 'jump "jump X non-positive" 47 5
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
856 "Jump if the content of rX is non-positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
857 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
858 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
859 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
860
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
861 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
862 'J1N 'jump "jump I1 negative" (+ 40 1) 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
863 "Jump if the content of rI1 is negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
864 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
865 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
866 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
867
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
868
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
869 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
870 'J1Z 'jump "jump I1 zero" (+ 40 1) 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
871 "Jump if the content of rI1 is zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
872 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
873 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
874 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
875
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
876
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
877 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
878 'J1P 'jump "jump I1 positive" (+ 40 1) 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
879 "Jump if the content of rI1 is positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
880 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
881 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
882 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
883
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
884
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
885 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
886 'J1NN 'jump "jump I1 non-negative" (+ 40 1) 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
887 "Jump if the content of rI1 is non-negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
888 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
889 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
890 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
891
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
892
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
893 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
894 'J1NZ 'jump "jump I1 non-zero" (+ 40 1) 4
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
895 "Jump if the content of rI1 is non-zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
896 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
897 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
898 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
899
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
900
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
901 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
902 'J1NP 'jump "jump I1 non-positive" (+ 40 1) 5
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
903 "Jump if the content of rI1 is non-positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
904 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
905 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
906 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
907
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
908 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
909 'J2N 'jump "jump I2 negative" (+ 40 1) 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
910 "Jump if the content of rI2 is negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
911 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
912 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
913 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
914
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
915
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
916 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
917 'J2Z 'jump "jump I2 zero" (+ 40 1) 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
918 "Jump if the content of rI2 is zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
919 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
920 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
921 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
922
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
923
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
924 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
925 'J2P 'jump "jump I2 positive" (+ 40 1) 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
926 "Jump if the content of rI2 is positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
927 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
928 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
929 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
930
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
931
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
932 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
933 'J2NN 'jump "jump I2 non-negative" (+ 40 1) 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
934 "Jump if the content of rI2 is non-negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
935 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
936 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
937 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
938
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
939
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
940 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
941 'J2NZ 'jump "jump I2 non-zero" (+ 40 1) 4
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
942 "Jump if the content of rI2 is non-zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
943 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
944 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
945 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
946
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
947
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
948 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
949 'J2NP 'jump "jump I2 non-positive" (+ 40 1) 5
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
950 "Jump if the content of rI2 is non-positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
951 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
952 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
953 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
954
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
955
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
956 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
957 'J3N 'jump "jump I3 negative" (+ 40 1) 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
958 "Jump if the content of rI3 is negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
959 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
960 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
961 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
962
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
963
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
964 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
965 'J3Z 'jump "jump I3 zero" (+ 40 1) 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
966 "Jump if the content of rI3 is zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
967 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
968 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
969 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
970
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
971
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
972 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
973 'J3P 'jump "jump I3 positive" (+ 40 1) 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
974 "Jump if the content of rI3 is positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
975 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
976 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
977 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
978
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
979
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
980 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
981 'J3NN 'jump "jump I3 non-negative" (+ 40 1) 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
982 "Jump if the content of rI3 is non-negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
983 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
984 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
985 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
986
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
987
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
988 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
989 'J3NZ 'jump "jump I3 non-zero" (+ 40 1) 4
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
990 "Jump if the content of rI3 is non-zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
991 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
992 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
993 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
994
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
995
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
996 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
997 'J3NP 'jump "jump I3 non-positive" (+ 40 1) 5
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
998 "Jump if the content of rI3 is non-positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
999 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1000 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1001 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1002
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1003
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1004 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1005 'J4N 'jump "jump I4 negative" (+ 40 1) 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1006 "Jump if the content of rI4 is negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1007 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1008 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1009 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1010
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1011
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1012 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1013 'J4Z 'jump "jump I4 zero" (+ 40 1) 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1014 "Jump if the content of rI4 is zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1015 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1016 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1017 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1018
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1019
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1020 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1021 'J4P 'jump "jump I4 positive" (+ 40 1) 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1022 "Jump if the content of rI4 is positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1023 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1024 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1025 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1026
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1027
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1028 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1029 'J4NN 'jump "jump I4 non-negative" (+ 40 1) 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1030 "Jump if the content of rI4 is non-negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1031 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1032 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1033 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1034
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1035
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1036 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1037 'J4NZ 'jump "jump I4 non-zero" (+ 40 1) 4
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1038 "Jump if the content of rI4 is non-zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1039 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1040 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1041 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1042
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1043
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1044 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1045 'J4NP 'jump "jump I4 non-positive" (+ 40 1) 5
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1046 "Jump if the content of rI4 is non-positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1047 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1048 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1049 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1050
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1051
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1052 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1053 'J5N 'jump "jump I5 negative" (+ 40 1) 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1054 "Jump if the content of rI5 is negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1055 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1056 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1057 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1058
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1059
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1060 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1061 'J5Z 'jump "jump I5 zero" (+ 40 1) 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1062 "Jump if the content of rI5 is zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1063 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1064 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1065 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1066
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1067
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1068 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1069 'J5P 'jump "jump I5 positive" (+ 40 1) 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1070 "Jump if the content of rI5 is positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1071 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1072 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1073 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1074
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1075
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1076 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1077 'J5NN 'jump "jump I5 non-negative" (+ 40 1) 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1078 "Jump if the content of rI5 is non-negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1079 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1080 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1081 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1082
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1083
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1084 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1085 'J5NZ 'jump "jump I5 non-zero" (+ 40 1) 4
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1086 "Jump if the content of rI5 is non-zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1087 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1088 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1089 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1090
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1091
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1092 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1093 'J5NP 'jump "jump I5 non-positive" (+ 40 1) 5
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1094 "Jump if the content of rI5 is non-positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1095 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1096 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1097 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1098
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1099
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1100 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1101 'J6N 'jump "jump I6 negative" (+ 40 1) 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1102 "Jump if the content of rI6 is negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1103 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1104 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1105 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1106
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1107
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1108 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1109 'J6Z 'jump "jump I6 zero" (+ 40 1) 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1110 "Jump if the content of rI6 is zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1111 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1112 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1113 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1114
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1115
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1116 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1117 'J6P 'jump "jump I6 positive" (+ 40 1) 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1118 "Jump if the content of rI6 is positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1119 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1120 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1121 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1122
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1123
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1124 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1125 'J6NN 'jump "jump I6 non-negative" (+ 40 1) 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1126 "Jump if the content of rI6 is non-negative.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1127 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1128 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1129 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1130
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1131
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1132 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1133 'J6NZ 'jump "jump I6 non-zero" (+ 40 1) 4
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1134 "Jump if the content of rI6 is non-zero.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1135 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1136 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1137 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1138
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1139
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1140 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1141 'J6NP 'jump "jump I6 non-positive" (+ 40 1) 5
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1142 "Jump if the content of rI6 is non-positive.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1143 Register J is set to the value of the next instruction that would have
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1144 been executed when there was no jump."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1145 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1146
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1147 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1148 'SLA 'miscellaneous "shift left A" 6 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1149 "Shift to A, M bytes left.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1150 Hero's will be added to the right."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1151 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1152
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1153
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1154 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1155 'SRA 'miscellaneous "shift right A" 6 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1156 "Shift to A, M bytes right.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1157 Zeros will be added to the left."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1158 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1159
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1160
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1161 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1162 'SLAX 'miscellaneous "shift left AX" 6 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1163 "Shift AX, M bytes left.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1164 Zeros will be added to the right."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1165 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1166
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1167
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1168
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1169 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1170 'SRAX 'miscellaneous "shift right AX" 6 3
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1171 "Shift AX, M bytes right.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1172 Zeros will be added to the left."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1173 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1174
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1175
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1176 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1177 'SLC 'miscellaneous "shift left AX circularly" 6 4
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1178 "Shift AX, M bytes left circularly.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1179 The bytes that fall off to the left will be added to the right."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1180 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1181
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1182
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1183 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1184 'SRC 'miscellaneous "shift right AX circularly" 6 4
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1185 "Shift AX, M bytes right circularly.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1186 The bytes that fall off to the right will be added to the left."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1187 2)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1188
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1189 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1190 'MOVE 'miscellaneous "move" 7 'number
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1191 "Move MOD words from M to the location stored in rI1."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1192 '(+ 1 (* 2 number)))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1193
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1194 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1195 'NOP 'miscellaneous "no operation" 0 'ignored
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1196 "No operation, M and F are not used by the machine."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1197 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1198
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1199 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1200 'HLT 'miscellaneous "halt" 5 2
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1201 "Halt.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1202 Stop instruction fetching."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1203 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1204
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1205 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1206 'IN 'input-output "input" 36 'unit
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1207 "Transfer a block of words from the specified unit to memory.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1208 The transfer starts at address M."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1209 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1210
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1211 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1212 'OUT 'input-output "output" 37 'unit
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1213 "Transfer a block of words from memory.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1214 The transfer starts at address M to the specified unit."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1215 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1216
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1217 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1218 'IOC 'input-output "input-output control" 35 'unit
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1219 "Perform a control operation.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1220 The control operation is given by M on the specified unit."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1221 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1222
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1223 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1224 'JRED 'input-output "jump ready" 38 'unit
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1225 "Jump to M if the specified unit is ready."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1226 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1227
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1228
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1229 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1230 'JBUS 'input-output "jump busy" 34 'unit
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1231 "Jump to M if the specified unit is busy."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1232 1)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1233
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1234 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1235 'NUM 'conversion "convert to numeric" 5 0
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1236 "Convert rAX to its numerical value and store it in rA.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1237 the register rAX is assumed to contain a character representation of
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1238 a number."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1239 10)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1240
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1241 (mixal-add-operation-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1242 'CHAR 'conversion "convert to characters" 5 1
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1243 "Convert the number stored in rA to a character representation.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1244 The converted character representation is stored in rAX."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1245 10)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1246
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1247 (defvar mixal-describe-operation-code-history nil
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1248 "History list for describe operation code.")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1249
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1250 (defun mixal-describe-operation-code (&optional op-code)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1251 "Display the full documentation of OP-CODE."
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1252 (interactive)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1253 ;; we like to provide completition and history, so do it ourself (interactive "?bla")?
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1254 (unless op-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1255 (let* ((completion-ignore-case t)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1256 ;; we already have a list, but it is not in the right format
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1257 ;; transform it to a valid table so completition can use it
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1258 (table (mapcar '(lambda (elm)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1259 (cons (symbol-name (car elm)) nil))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1260 mixal-operation-codes-alist))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1261 ;; prompt is different depending on we are close to a valid op-code
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1262 (have-default (member (current-word) mixal-operation-codes))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1263 (prompt (concat "Describe operation code "
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1264 (if have-default
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1265 (concat "(default " (current-word) "): ")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1266 ": "))))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1267 ;; as the operation code to the user
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1268 (setq op-code (completing-read prompt table nil t nil
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1269 'mixal-describe-operation-code-history
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1270 (current-word)))))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1271 ;; get the info on the op-code and output it to the help buffer
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1272 (let ((op-code-help (assq (intern-soft op-code) mixal-operation-codes-alist)))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1273 (when op-code-help
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1274 (with-output-to-temp-buffer (buffer-name (get-buffer-create "*Help*"))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1275 (princ op-code) (princ " is an mix operation code\n\n")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1276 (princ (nth 5 op-code-help)) (terpri) (terpri)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1277 (princ " group: ") (princ (nth 1 op-code-help)) (terpri)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1278 (princ " nice name: ") (princ (nth 2 op-code-help)) (terpri)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1279 (princ " OPCODE / C: ") (princ (nth 3 op-code-help)) (terpri)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1280 (princ " MOD / F: ") (princ (nth 4 op-code-help)) (terpri)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1281 (princ " time: ") (princ (nth 6 op-code-help)) (terpri)))))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1282
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1283 ;;;; Running
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1284 (defun mixal-run ()
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1285 "Run's mixal file in current buffer, assumes that file has been compiled"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1286 (interactive)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1287 (mixvm (concat "mixvm -r -t -d "
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1288 (file-name-sans-extension (buffer-file-name)))))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1289
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1290 (defun mixal-debug ()
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1291 "Starts mixvm for debugging, assumes that file has been compiled with debugging support"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1292 (interactive)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1293 (mixvm (concat "mixvm "
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1294 (file-name-sans-extension (buffer-file-name)))))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1295
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1296 ;;;###autoload
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1297 (define-derived-mode mixal-mode fundamental-mode "mixal"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1298 "Major mode for the mixal asm language.
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1299 \\{mixal-mode-map}"
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1300 (set (make-local-variable 'comment-start) "*")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1301 (set (make-local-variable 'comment-start-skip) "*")
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1302 (set (make-local-variable 'font-lock-defaults) '(mixal-font-lock-keywords))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1303 ; might add an indent function in the future
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1304 ; (set (make-local-variable 'indent-line-function) 'mixal-indent-line)
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1305 (set (make-local-variable 'compile-command) (concat "mixasm -g "
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1306 buffer-file-name))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1307 ;; mixasm will do strange when there is no final newline,
59247
d162faeebae4 (mixal-mode): Use mode-require-final-newline.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
1308 ;; so let Emacs ensure that it is always there
d162faeebae4 (mixal-mode): Use mode-require-final-newline.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
1309 (set (make-local-variable 'require-final-newline)
d162faeebae4 (mixal-mode): Use mode-require-final-newline.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
1310 mode-require-final-newline))
51592
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1311
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1312 ;;;###autoload
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1313 (add-to-list 'auto-mode-alist '("\\.mixal\\'" . mixal-mode))
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1314
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1315 (provide 'mixal-mode)
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51592
diff changeset
1316
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51592
diff changeset
1317 ;;; arch-tag: be7c128a-bf61-4951-a90e-9398267ce3f3
51592
658ac87cca4e New file.
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1318 ;;; mixal-mode.el ends here