diff options
| -rw-r--r-- | lisp/progmodes/mixal-mode.el | 865 |
1 files changed, 433 insertions, 432 deletions
diff --git a/lisp/progmodes/mixal-mode.el b/lisp/progmodes/mixal-mode.el index 8c9359ae859..0e881c0d79f 100644 --- a/lisp/progmodes/mixal-mode.el +++ b/lisp/progmodes/mixal-mode.el | |||
| @@ -124,950 +124,951 @@ value.") | |||
| 124 | (defvar mixal-operation-codes-alist | 124 | (defvar mixal-operation-codes-alist |
| 125 | ;; FIXME: the codes FADD, FSUB, FMUL, FDIV, JRAD, and FCMP were in | 125 | ;; FIXME: the codes FADD, FSUB, FMUL, FDIV, JRAD, and FCMP were in |
| 126 | ;; mixal-operation-codes but not here. They should probably be added here. | 126 | ;; mixal-operation-codes but not here. They should probably be added here. |
| 127 | `((LDA loading "load A" 8 field | 127 | (eval-when-compile |
| 128 | "Put in rA the contents of cell no. M. | 128 | `((LDA loading "load A" 8 field |
| 129 | "Put in rA the contents of cell no. M. | ||
| 129 | Uses a + when there is no sign in subfield. Subfield is left padded with | 130 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 130 | zeros to make a word." | 131 | zeros to make a word." |
| 131 | 2) | 132 | 2) |
| 132 | 133 | ||
| 133 | (LDX loading "load X" 15 field | 134 | (LDX loading "load X" 15 field |
| 134 | "Put in rX the contents of cell no. M. | 135 | "Put in rX the contents of cell no. M. |
| 135 | Uses a + when there is no sign in subfield. Subfield is left padded with | 136 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 136 | zeros to make a word." | 137 | zeros to make a word." |
| 137 | 2) | 138 | 2) |
| 138 | 139 | ||
| 139 | (LD1 loading "load I1" ,(+ 8 1) field | 140 | (LD1 loading "load I1" ,(+ 8 1) field |
| 140 | "Put in rI1 the contents of cell no. M. | 141 | "Put in rI1 the contents of cell no. M. |
| 141 | Uses a + when there is no sign in subfield. Subfield is left padded with | 142 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 142 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying | 143 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying |
| 143 | to set anything more that that will result in undefined behavior." | 144 | to set anything more that that will result in undefined behavior." |
| 144 | 2) | 145 | 2) |
| 145 | 146 | ||
| 146 | (LD2 loading "load I2" ,(+ 8 2) field | 147 | (LD2 loading "load I2" ,(+ 8 2) field |
| 147 | "Put in rI2 the contents of cell no. M. | 148 | "Put in rI2 the contents of cell no. M. |
| 148 | Uses a + when there is no sign in subfield. Subfield is left padded with | 149 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 149 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying | 150 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying |
| 150 | to set anything more that that will result in undefined behavior." | 151 | to set anything more that that will result in undefined behavior." |
| 151 | 2) | 152 | 2) |
| 152 | 153 | ||
| 153 | (LD3 loading "load I3" ,(+ 8 3) field | 154 | (LD3 loading "load I3" ,(+ 8 3) field |
| 154 | "Put in rI3 the contents of cell no. M. | 155 | "Put in rI3 the contents of cell no. M. |
| 155 | Uses a + when there is no sign in subfield. Subfield is left padded with | 156 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 156 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying | 157 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying |
| 157 | to set anything more that that will result in undefined behavior." | 158 | to set anything more that that will result in undefined behavior." |
| 158 | 2) | 159 | 2) |
| 159 | 160 | ||
| 160 | (LD4 loading "load I4" ,(+ 8 4) field | 161 | (LD4 loading "load I4" ,(+ 8 4) field |
| 161 | "Put in rI4 the contents of cell no. M. | 162 | "Put in rI4 the contents of cell no. M. |
| 162 | Uses a + when there is no sign in subfield. Subfield is left padded with | 163 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 163 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying | 164 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying |
| 164 | to set anything more that that will result in undefined behavior." | 165 | to set anything more that that will result in undefined behavior." |
| 165 | 2) | 166 | 2) |
| 166 | 167 | ||
| 167 | (LD5 loading "load I5" ,(+ 8 5) field | 168 | (LD5 loading "load I5" ,(+ 8 5) field |
| 168 | "Put in rI5 the contents of cell no. M. | 169 | "Put in rI5 the contents of cell no. M. |
| 169 | Uses a + when there is no sign in subfield. Subfield is left padded with | 170 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 170 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying | 171 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying |
| 171 | to set anything more that that will result in undefined behavior." | 172 | to set anything more that that will result in undefined behavior." |
| 172 | 2) | 173 | 2) |
| 173 | 174 | ||
| 174 | (LD6 loading "load I6" ,(+ 8 6) field | 175 | (LD6 loading "load I6" ,(+ 8 6) field |
| 175 | "Put in rI6 the contents of cell no. M. | 176 | "Put in rI6 the contents of cell no. M. |
| 176 | Uses a + when there is no sign in subfield. Subfield is left padded with | 177 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 177 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying | 178 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying |
| 178 | to set anything more that that will result in undefined behavior." | 179 | to set anything more that that will result in undefined behavior." |
| 179 | 2) | 180 | 2) |
| 180 | 181 | ||
| 181 | (LDAN loading "load A negative" 16 field | 182 | (LDAN loading "load A negative" 16 field |
| 182 | "Put in rA the contents of cell no. M, with opposite sign. | 183 | "Put in rA the contents of cell no. M, with opposite sign. |
| 183 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 184 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 184 | Subfield is left padded with zeros to make a word." | 185 | Subfield is left padded with zeros to make a word." |
| 185 | 2) | 186 | 2) |
| 186 | 187 | ||
| 187 | (LDXN loading "load X negative" 23 field | 188 | (LDXN loading "load X negative" 23 field |
| 188 | "Put in rX the contents of cell no. M, with opposite sign. | 189 | "Put in rX the contents of cell no. M, with opposite sign. |
| 189 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 190 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 190 | Subfield is left padded with zeros to make a word." | 191 | Subfield is left padded with zeros to make a word." |
| 191 | 2) | 192 | 2) |
| 192 | 193 | ||
| 193 | (LD1N loading "load I1 negative" ,(+ 16 1) field | 194 | (LD1N loading "load I1 negative" ,(+ 16 1) field |
| 194 | "Put in rI1 the contents of cell no. M, with opposite sign. | 195 | "Put in rI1 the contents of cell no. M, with opposite sign. |
| 195 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 196 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 196 | Subfield is left padded with zeros to make a word. Index registers only | 197 | Subfield is left padded with zeros to make a word. Index registers only |
| 197 | have 2 bytes and a sign, Trying to set anything more that that will result | 198 | have 2 bytes and a sign, Trying to set anything more that that will result |
| 198 | in undefined behavior." | 199 | in undefined behavior." |
| 199 | 2) | 200 | 2) |
| 200 | 201 | ||
| 201 | (LD2N loading "load I2 negative" ,(+ 16 2) field | 202 | (LD2N loading "load I2 negative" ,(+ 16 2) field |
| 202 | "Put in rI2 the contents of cell no. M, with opposite sign. | 203 | "Put in rI2 the contents of cell no. M, with opposite sign. |
| 203 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 204 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 204 | Subfield is left padded with zeros to make a word. Index registers only | 205 | Subfield is left padded with zeros to make a word. Index registers only |
| 205 | have 2 bytes and a sign, Trying to set anything more that that will result | 206 | have 2 bytes and a sign, Trying to set anything more that that will result |
| 206 | in undefined behavior." | 207 | in undefined behavior." |
| 207 | 2) | 208 | 2) |
| 208 | 209 | ||
| 209 | (LD3N loading "load I3 negative" ,(+ 16 3) field | 210 | (LD3N loading "load I3 negative" ,(+ 16 3) field |
| 210 | "Put in rI3 the contents of cell no. M, with opposite sign. | 211 | "Put in rI3 the contents of cell no. M, with opposite sign. |
| 211 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 212 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 212 | Subfield is left padded with zeros to make a word. Index registers only | 213 | Subfield is left padded with zeros to make a word. Index registers only |
| 213 | have 2 bytes and a sign, Trying to set anything more that that will result | 214 | have 2 bytes and a sign, Trying to set anything more that that will result |
| 214 | in undefined behavior." | 215 | in undefined behavior." |
| 215 | 2) | 216 | 2) |
| 216 | 217 | ||
| 217 | (LD4N loading "load I4 negative" ,(+ 16 4) field | 218 | (LD4N loading "load I4 negative" ,(+ 16 4) field |
| 218 | "Put in rI4 the contents of cell no. M, with opposite sign. | 219 | "Put in rI4 the contents of cell no. M, with opposite sign. |
| 219 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 220 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 220 | Subfield is left padded with zeros to make a word. Index registers only | 221 | Subfield is left padded with zeros to make a word. Index registers only |
| 221 | have 2 bytes and a sign, Trying to set anything more that that will result | 222 | have 2 bytes and a sign, Trying to set anything more that that will result |
| 222 | in undefined behavior." | 223 | in undefined behavior." |
| 223 | 2) | 224 | 2) |
| 224 | 225 | ||
| 225 | (LD5N loading "load I5 negative" ,(+ 16 5) field | 226 | (LD5N loading "load I5 negative" ,(+ 16 5) field |
| 226 | "Put in rI5 the contents of cell no. M, with opposite sign. | 227 | "Put in rI5 the contents of cell no. M, with opposite sign. |
| 227 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 228 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 228 | Subfield is left padded with zeros to make a word. Index registers only | 229 | Subfield is left padded with zeros to make a word. Index registers only |
| 229 | have 2 bytes and a sign, Trying to set anything more that that will result | 230 | have 2 bytes and a sign, Trying to set anything more that that will result |
| 230 | in undefined behavior." | 231 | in undefined behavior." |
| 231 | 2) | 232 | 2) |
| 232 | 233 | ||
| 233 | (LD6N loading "load I6 negative" ,(+ 16 6) field | 234 | (LD6N loading "load I6 negative" ,(+ 16 6) field |
| 234 | "Put in rI6 the contents of cell no. M, with opposite sign. | 235 | "Put in rI6 the contents of cell no. M, with opposite sign. |
| 235 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 236 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 236 | Subfield is left padded with zeros to make a word. Index registers only | 237 | Subfield is left padded with zeros to make a word. Index registers only |
| 237 | have 2 bytes and a sign, Trying to set anything more that that will result | 238 | have 2 bytes and a sign, Trying to set anything more that that will result |
| 238 | in undefined behavior." | 239 | in undefined behavior." |
| 239 | 2) | 240 | 2) |
| 240 | 241 | ||
| 241 | (STA storing "store A" 24 field | 242 | (STA storing "store A" 24 field |
| 242 | "Store in cell Nr. M the contents of rA. | 243 | "Store in cell Nr. M the contents of rA. |
| 243 | The modification of the operation code represents the subfield of the | 244 | The modification of the operation code represents the subfield of the |
| 244 | memory cell that is to be overwritten with bytes from a register. These | 245 | memory cell that is to be overwritten with bytes from a register. These |
| 245 | bytes are taken beginning by the rightmost side of the register. The | 246 | bytes are taken beginning by the rightmost side of the register. The |
| 246 | sign of the memory cell is not changed, unless it is part of the subfield." | 247 | sign of the memory cell is not changed, unless it is part of the subfield." |
| 247 | 2) | 248 | 2) |
| 248 | 249 | ||
| 249 | (STX storing "store X" 31 field | 250 | (STX storing "store X" 31 field |
| 250 | "Store in cell Nr. M the contents of rX. | 251 | "Store in cell Nr. M the contents of rX. |
| 251 | The modification of the operation code represents the subfield of the | 252 | The modification of the operation code represents the subfield of the |
| 252 | memory cell that is to be overwritten with bytes from a register. These | 253 | memory cell that is to be overwritten with bytes from a register. These |
| 253 | bytes are taken beginning by the rightmost side of the register. The | 254 | bytes are taken beginning by the rightmost side of the register. The |
| 254 | sign of the memory cell is not changed, unless it is part of the subfield." | 255 | sign of the memory cell is not changed, unless it is part of the subfield." |
| 255 | 2) | 256 | 2) |
| 256 | 257 | ||
| 257 | (ST1 storing "store I1" ,(+ 24 1) field | 258 | (ST1 storing "store I1" ,(+ 24 1) field |
| 258 | "Store in cell Nr. M the contents of rI1. | 259 | "Store in cell Nr. M the contents of rI1. |
| 259 | The modification of the operation code represents the subfield of the | 260 | The modification of the operation code represents the subfield of the |
| 260 | memory cell that is to be overwritten with bytes from a register. These | 261 | memory cell that is to be overwritten with bytes from a register. These |
| 261 | bytes are taken beginning by the rightmost side of the register. The | 262 | bytes are taken beginning by the rightmost side of the register. The |
| 262 | sign of the memory cell is not changed, unless it is part of the subfield. | 263 | sign of the memory cell is not changed, unless it is part of the subfield. |
| 263 | Because index registers only have 2 bytes and a sign, the rest of the bytes | 264 | Because index registers only have 2 bytes and a sign, the rest of the bytes |
| 264 | are assumed to be 0." | 265 | are assumed to be 0." |
| 265 | 2) | 266 | 2) |
| 266 | 267 | ||
| 267 | (ST2 storing "store I2" ,(+ 24 2) field | 268 | (ST2 storing "store I2" ,(+ 24 2) field |
| 268 | "Store in cell Nr. M the contents of rI2. | 269 | "Store in cell Nr. M the contents of rI2. |
| 269 | The modification of the operation code represents the subfield of the | 270 | The modification of the operation code represents the subfield of the |
| 270 | memory cell that is to be overwritten with bytes from a register. These | 271 | memory cell that is to be overwritten with bytes from a register. These |
| 271 | bytes are taken beginning by the rightmost side of the register. The | 272 | bytes are taken beginning by the rightmost side of the register. The |
| 272 | sign of the memory cell is not changed, unless it is part of the subfield. | 273 | sign of the memory cell is not changed, unless it is part of the subfield. |
| 273 | Because index registers only have 2 bytes and a sign, the rest of the bytes | 274 | Because index registers only have 2 bytes and a sign, the rest of the bytes |
| 274 | are assumed to be 0." | 275 | are assumed to be 0." |
| 275 | 2) | 276 | 2) |
| 276 | 277 | ||
| 277 | (ST3 storing "store I3" ,(+ 24 3) field | 278 | (ST3 storing "store I3" ,(+ 24 3) field |
| 278 | "Store in cell Nr. M the contents of rI3. | 279 | "Store in cell Nr. M the contents of rI3. |
| 279 | The modification of the operation code represents the subfield of the | 280 | The modification of the operation code represents the subfield of the |
| 280 | memory cell that is to be overwritten with bytes from a register. These | 281 | memory cell that is to be overwritten with bytes from a register. These |
| 281 | bytes are taken beginning by the rightmost side of the register. The | 282 | bytes are taken beginning by the rightmost side of the register. The |
| 282 | sign of the memory cell is not changed, unless it is part of the subfield. | 283 | sign of the memory cell is not changed, unless it is part of the subfield. |
| 283 | Because index registers only have 2 bytes and a sign, the rest of the bytes | 284 | Because index registers only have 2 bytes and a sign, the rest of the bytes |
| 284 | are assumed to be 0." | 285 | are assumed to be 0." |
| 285 | 2) | 286 | 2) |
| 286 | 287 | ||
| 287 | (ST4 storing "store I4" ,(+ 24 4) field | 288 | (ST4 storing "store I4" ,(+ 24 4) field |
| 288 | "Store in cell Nr. M the contents of rI4. | 289 | "Store in cell Nr. M the contents of rI4. |
| 289 | The modification of the operation code represents the subfield of the | 290 | The modification of the operation code represents the subfield of the |
| 290 | memory cell that is to be overwritten with bytes from a register. These | 291 | memory cell that is to be overwritten with bytes from a register. These |
| 291 | bytes are taken beginning by the rightmost side of the register. The | 292 | bytes are taken beginning by the rightmost side of the register. The |
| 292 | sign of the memory cell is not changed, unless it is part of the subfield. | 293 | sign of the memory cell is not changed, unless it is part of the subfield. |
| 293 | Because index registers only have 2 bytes and a sign, the rest of the bytes | 294 | Because index registers only have 2 bytes and a sign, the rest of the bytes |
| 294 | are assumed to be 0." | 295 | are assumed to be 0." |
| 295 | 2) | 296 | 2) |
| 296 | 297 | ||
| 297 | (ST5 storing "store I5" ,(+ 24 5) field | 298 | (ST5 storing "store I5" ,(+ 24 5) field |
| 298 | "Store in cell Nr. M the contents of rI5. | 299 | "Store in cell Nr. M the contents of rI5. |
| 299 | The modification of the operation code represents the subfield of the | 300 | The modification of the operation code represents the subfield of the |
| 300 | memory cell that is to be overwritten with bytes from a register. These | 301 | memory cell that is to be overwritten with bytes from a register. These |
| 301 | bytes are taken beginning by the rightmost side of the register. The | 302 | bytes are taken beginning by the rightmost side of the register. The |
| 302 | sign of the memory cell is not changed, unless it is part of the subfield. | 303 | sign of the memory cell is not changed, unless it is part of the subfield. |
| 303 | Because index registers only have 2 bytes and a sign, the rest of the bytes | 304 | Because index registers only have 2 bytes and a sign, the rest of the bytes |
| 304 | are assumed to be 0." | 305 | are assumed to be 0." |
| 305 | 2) | 306 | 2) |
| 306 | 307 | ||
| 307 | (ST6 storing "store I6" ,(+ 24 6) field | 308 | (ST6 storing "store I6" ,(+ 24 6) field |
| 308 | "Store in cell Nr. M the contents of rI6. | 309 | "Store in cell Nr. M the contents of rI6. |
| 309 | The modification of the operation code represents the subfield of the | 310 | The modification of the operation code represents the subfield of the |
| 310 | memory cell that is to be overwritten with bytes from a register. These | 311 | memory cell that is to be overwritten with bytes from a register. These |
| 311 | bytes are taken beginning by the rightmost side of the register. The | 312 | bytes are taken beginning by the rightmost side of the register. The |
| 312 | sign of the memory cell is not changed, unless it is part of the subfield. | 313 | sign of the memory cell is not changed, unless it is part of the subfield. |
| 313 | Because index registers only have 2 bytes and a sign, the rest of the bytes | 314 | Because index registers only have 2 bytes and a sign, the rest of the bytes |
| 314 | are assumed to be 0." | 315 | are assumed to be 0." |
| 315 | 2) | 316 | 2) |
| 316 | 317 | ||
| 317 | (STJ storing "store J" 32 field | 318 | (STJ storing "store J" 32 field |
| 318 | "Store in cell Nr. M the contents of rJ. | 319 | "Store in cell Nr. M the contents of rJ. |
| 319 | The modification of the operation code represents the subfield of the | 320 | The modification of the operation code represents the subfield of the |
| 320 | memory cell that is to be overwritten with bytes from a register. These | 321 | memory cell that is to be overwritten with bytes from a register. These |
| 321 | bytes are taken beginning by the rightmost side of the register. The sign | 322 | bytes are taken beginning by the rightmost side of the register. The sign |
| 322 | of rJ is always +, sign of the memory cell is not changed, unless it is | 323 | of rJ is always +, sign of the memory cell is not changed, unless it is |
| 323 | part of the subfield. The default field for STJ is (0:2)." | 324 | part of the subfield. The default field for STJ is (0:2)." |
| 324 | 2) | 325 | 2) |
| 325 | 326 | ||
| 326 | (STZ storing "store zero" 33 field | 327 | (STZ storing "store zero" 33 field |
| 327 | "Store in cell Nr. M '+ 0'. | 328 | "Store in cell Nr. M '+ 0'. |
| 328 | The modification of the operation code represents the subfield of the | 329 | The modification of the operation code represents the subfield of the |
| 329 | memory cell that is to be overwritten with zeros." | 330 | memory cell that is to be overwritten with zeros." |
| 330 | 2) | 331 | 2) |
| 331 | 332 | ||
| 332 | (ADD arithmetic "add" 1 field | 333 | (ADD arithmetic "add" 1 field |
| 333 | "Add to A the contents of cell Nr. M. | 334 | "Add to A the contents of cell Nr. M. |
| 334 | Subfield is padded with zero to make a word. | 335 | Subfield is padded with zero to make a word. |
| 335 | If the result is to large, the operation result modulo 1,073,741,823 (the | 336 | If the result is to large, the operation result modulo 1,073,741,823 (the |
| 336 | maximum value storable in a MIX word) is stored in `rA', and the overflow | 337 | maximum value storable in a MIX word) is stored in `rA', and the overflow |
| 337 | toggle is set to TRUE." | 338 | toggle is set to TRUE." |
| 338 | 2) | 339 | 2) |
| 339 | 340 | ||
| 340 | (SUB arithmetic "subtract" 2 field | 341 | (SUB arithmetic "subtract" 2 field |
| 341 | "Subtract to A the contents of cell Nr. M. | 342 | "Subtract to A the contents of cell Nr. M. |
| 342 | Subfield is padded with zero to make a word. | 343 | Subfield is padded with zero to make a word. |
| 343 | If the result is to large, the operation result modulo 1,073,741,823 (the | 344 | If the result is to large, the operation result modulo 1,073,741,823 (the |
| 344 | maximum value storable in a MIX word) is stored in `rA', and the overflow | 345 | maximum value storable in a MIX word) is stored in `rA', and the overflow |
| 345 | toggle is set to TRUE." | 346 | toggle is set to TRUE." |
| 346 | 2) | 347 | 2) |
| 347 | 348 | ||
| 348 | (MUL arithmetic "multiply" 3 field | 349 | (MUL arithmetic "multiply" 3 field |
| 349 | "Multiplies the contents of cell Nr. M with A, result is 10 bytes and stored in rA and rX. | 350 | "Multiplies the contents of cell Nr. M with A, result is 10 bytes and stored in rA and rX. |
| 350 | The sign is + if the sign of rA and cell M where the same, otherwise, it is -" | 351 | The sign is + if the sign of rA and cell M where the same, otherwise, it is -" |
| 351 | 10) | 352 | 10) |
| 352 | 353 | ||
| 353 | (DIV arithmetic "divide" 4 field | 354 | (DIV arithmetic "divide" 4 field |
| 354 | "Both rA and rX are taken together and divided by cell Nr. M, quotient is placed in rA, remainder in rX. | 355 | "Both rA and rX are taken together and divided by cell Nr. M, quotient is placed in rA, remainder in rX. |
| 355 | The sign is taken from rA, and after the divide the sign of rA is set to + when | 356 | The sign is taken from rA, and after the divide the sign of rA is set to + when |
| 356 | both the sign of rA and M where the same. Divide by zero and overflow of rA | 357 | both the sign of rA and M where the same. Divide by zero and overflow of rA |
| 357 | result in undefined behavior." | 358 | result in undefined behavior." |
| 358 | 12) | 359 | 12) |
| 359 | 360 | ||
| 360 | (ENTA address-transfer "enter A" 48 | 361 | (ENTA address-transfer "enter A" 48 |
| 361 | "Literal value is stored in rA. | 362 | "Literal value is stored in rA. |
| 362 | Indexed, stores value of index in rA." | 363 | Indexed, stores value of index in rA." |
| 363 | 1) | 364 | 1) |
| 364 | 365 | ||
| 365 | (ENTX address-transfer "enter X" 55 | 366 | (ENTX address-transfer "enter X" 55 |
| 366 | "Literal value is stored in rX. | 367 | "Literal value is stored in rX. |
| 367 | Indexed, stores value of index in rX." | 368 | Indexed, stores value of index in rX." |
| 368 | 1) | 369 | 1) |
| 369 | 370 | ||
| 370 | (ENT1 address-transfer "Enter rI1" ,(+ 48 1) | 371 | (ENT1 address-transfer "Enter rI1" ,(+ 48 1) |
| 371 | "Literal value is stored in rI1. | 372 | "Literal value is stored in rI1. |
| 372 | Indexed, stores value of index in rI1." | 373 | Indexed, stores value of index in rI1." |
| 373 | 1) | 374 | 1) |
| 374 | 375 | ||
| 375 | (ENT2 address-transfer "Enter rI2" ,(+ 48 2) | 376 | (ENT2 address-transfer "Enter rI2" ,(+ 48 2) |
| 376 | "Literal value is stored in rI2. | 377 | "Literal value is stored in rI2. |
| 377 | Indexed, stores value of index in rI2." | 378 | Indexed, stores value of index in rI2." |
| 378 | 1) | 379 | 1) |
| 379 | 380 | ||
| 380 | (ENT3 address-transfer "Enter rI3" ,(+ 48 3) | 381 | (ENT3 address-transfer "Enter rI3" ,(+ 48 3) |
| 381 | "Literal value is stored in rI3. | 382 | "Literal value is stored in rI3. |
| 382 | Indexed, stores value of index in rI3." | 383 | Indexed, stores value of index in rI3." |
| 383 | 1) | 384 | 1) |
| 384 | 385 | ||
| 385 | (ENT4 address-transfer "Enter rI4" ,(+ 48 4) | 386 | (ENT4 address-transfer "Enter rI4" ,(+ 48 4) |
| 386 | "Literal value is stored in rI4. | 387 | "Literal value is stored in rI4. |
| 387 | Indexed, stores value of index in rI4." | 388 | Indexed, stores value of index in rI4." |
| 388 | 1) | 389 | 1) |
| 389 | 390 | ||
| 390 | (ENT5 address-transfer "Enter rI5" ,(+ 48 5) | 391 | (ENT5 address-transfer "Enter rI5" ,(+ 48 5) |
| 391 | "Literal value is stored in rI5. | 392 | "Literal value is stored in rI5. |
| 392 | Indexed, stores value of index in rI5." | 393 | Indexed, stores value of index in rI5." |
| 393 | 1) | 394 | 1) |
| 394 | 395 | ||
| 395 | (ENT6 address-transfer "Enter rI6" ,(+ 48 6) | 396 | (ENT6 address-transfer "Enter rI6" ,(+ 48 6) |
| 396 | "Literal value is stored in rI6. | 397 | "Literal value is stored in rI6. |
| 397 | Indexed, stores value of index in rI6." | 398 | Indexed, stores value of index in rI6." |
| 398 | 1) | 399 | 1) |
| 399 | 400 | ||
| 400 | (ENNA address-transfer "enter negative A" 48 | 401 | (ENNA address-transfer "enter negative A" 48 |
| 401 | "Literal value is stored in rA with opposite sign. | 402 | "Literal value is stored in rA with opposite sign. |
| 402 | Indexed, stores value of index in rA with opposite sign." | 403 | Indexed, stores value of index in rA with opposite sign." |
| 403 | 1) | 404 | 1) |
| 404 | 405 | ||
| 405 | (ENNX address-transfer "enter negative X" 55 | 406 | (ENNX address-transfer "enter negative X" 55 |
| 406 | "Literal value is stored in rX with opposite sign. | 407 | "Literal value is stored in rX with opposite sign. |
| 407 | Indexed, stores value of index in rX with opposite sign." | 408 | Indexed, stores value of index in rX with opposite sign." |
| 408 | 1) | 409 | 1) |
| 409 | 410 | ||
| 410 | (ENN1 address-transfer "Enter negative rI1" ,(+ 48 1) | 411 | (ENN1 address-transfer "Enter negative rI1" ,(+ 48 1) |
| 411 | "Literal value is stored in rI1 with opposite sign. | 412 | "Literal value is stored in rI1 with opposite sign. |
| 412 | Indexed, stores value of index in rI1 with opposite sign." | 413 | Indexed, stores value of index in rI1 with opposite sign." |
| 413 | 1) | 414 | 1) |
| 414 | 415 | ||
| 415 | (ENN2 address-transfer "Enter negative rI2" ,(+ 48 2) | 416 | (ENN2 address-transfer "Enter negative rI2" ,(+ 48 2) |
| 416 | "Literal value is stored in rI2 with opposite sign. | 417 | "Literal value is stored in rI2 with opposite sign. |
| 417 | Indexed, stores value of index in rI2 with opposite sign." | 418 | Indexed, stores value of index in rI2 with opposite sign." |
| 418 | 1) | 419 | 1) |
| 419 | 420 | ||
| 420 | (ENN3 address-transfer "Enter negative rI3" ,(+ 48 3) | 421 | (ENN3 address-transfer "Enter negative rI3" ,(+ 48 3) |
| 421 | "Literal value is stored in rI3 with opposite sign. | 422 | "Literal value is stored in rI3 with opposite sign. |
| 422 | Indexed, stores value of index in rI3 with opposite sign." | 423 | Indexed, stores value of index in rI3 with opposite sign." |
| 423 | 1) | 424 | 1) |
| 424 | 425 | ||
| 425 | (ENN4 address-transfer "Enter negative rI4" ,(+ 48 4) | 426 | (ENN4 address-transfer "Enter negative rI4" ,(+ 48 4) |
| 426 | "Literal value is stored in rI4 with opposite sign. | 427 | "Literal value is stored in rI4 with opposite sign. |
| 427 | Indexed, stores value of index in rI4 with opposite sign." | 428 | Indexed, stores value of index in rI4 with opposite sign." |
| 428 | 1) | 429 | 1) |
| 429 | 430 | ||
| 430 | (ENN5 address-transfer "Enter negative rI5" ,(+ 48 5) | 431 | (ENN5 address-transfer "Enter negative rI5" ,(+ 48 5) |
| 431 | "Literal value is stored in rI5 with opposite sign. | 432 | "Literal value is stored in rI5 with opposite sign. |
| 432 | Indexed, stores value of index in rI5 with opposite sign." | 433 | Indexed, stores value of index in rI5 with opposite sign." |
| 433 | 1) | 434 | 1) |
| 434 | 435 | ||
| 435 | (ENN6 address-transfer "Enter negative rI6" ,(+ 48 6) | 436 | (ENN6 address-transfer "Enter negative rI6" ,(+ 48 6) |
| 436 | "Literal value is stored in rI6 with opposite sign. | 437 | "Literal value is stored in rI6 with opposite sign. |
| 437 | Indexed, stores value of index in rI6 with opposite sign." | 438 | Indexed, stores value of index in rI6 with opposite sign." |
| 438 | 1) | 439 | 1) |
| 439 | 440 | ||
| 440 | (INCA address-transfer "increase A" 48 | 441 | (INCA address-transfer "increase A" 48 |
| 441 | "Increase register A with the literal value of M. | 442 | "Increase register A with the literal value of M. |
| 442 | On overflow the overflow toggle is set." | 443 | On overflow the overflow toggle is set." |
| 443 | 1) | 444 | 1) |
| 444 | 445 | ||
| 445 | (INCX address-transfer "increase X" 55 | 446 | (INCX address-transfer "increase X" 55 |
| 446 | "Increase register X with the literal value of M. | 447 | "Increase register X with the literal value of M. |
| 447 | On overflow the overflow toggle is set." | 448 | On overflow the overflow toggle is set." |
| 448 | 1) | 449 | 1) |
| 449 | 450 | ||
| 450 | (INC1 address-transfer "increase I1" ,(+ 48 1) | 451 | (INC1 address-transfer "increase I1" ,(+ 48 1) |
| 451 | "Increase register I1 with the literal value of M. | 452 | "Increase register I1 with the literal value of M. |
| 452 | The result is undefined when the result does not fit in | 453 | The result is undefined when the result does not fit in |
| 453 | 2 bytes." | 454 | 2 bytes." |
| 454 | 1) | 455 | 1) |
| 455 | 456 | ||
| 456 | (INC2 address-transfer "increase I2" ,(+ 48 2) | 457 | (INC2 address-transfer "increase I2" ,(+ 48 2) |
| 457 | "Increase register I2 with the literal value of M. | 458 | "Increase register I2 with the literal value of M. |
| 458 | The result is undefined when the result does not fit in | 459 | The result is undefined when the result does not fit in |
| 459 | 2 bytes." | 460 | 2 bytes." |
| 460 | 1) | 461 | 1) |
| 461 | 462 | ||
| 462 | (INC3 address-transfer "increase I3" ,(+ 48 3) | 463 | (INC3 address-transfer "increase I3" ,(+ 48 3) |
| 463 | "Increase register I3 with the literal value of M. | 464 | "Increase register I3 with the literal value of M. |
| 464 | The result is undefined when the result does not fit in | 465 | The result is undefined when the result does not fit in |
| 465 | 2 bytes." | 466 | 2 bytes." |
| 466 | 1) | 467 | 1) |
| 467 | 468 | ||
| 468 | (INC4 address-transfer "increase I4" ,(+ 48 4) | 469 | (INC4 address-transfer "increase I4" ,(+ 48 4) |
| 469 | "Increase register I4 with the literal value of M. | 470 | "Increase register I4 with the literal value of M. |
| 470 | The result is undefined when the result does not fit in | 471 | The result is undefined when the result does not fit in |
| 471 | 2 bytes." | 472 | 2 bytes." |
| 472 | 1) | 473 | 1) |
| 473 | 474 | ||
| 474 | (INC5 address-transfer "increase I5" ,(+ 48 5) | 475 | (INC5 address-transfer "increase I5" ,(+ 48 5) |
| 475 | "Increase register I5 with the literal value of M. | 476 | "Increase register I5 with the literal value of M. |
| 476 | The result is undefined when the result does not fit in | 477 | The result is undefined when the result does not fit in |
| 477 | 2 bytes." | 478 | 2 bytes." |
| 478 | 1) | 479 | 1) |
| 479 | 480 | ||
| 480 | (INC6 address-transfer "increase I6" ,(+ 48 6) | 481 | (INC6 address-transfer "increase I6" ,(+ 48 6) |
| 481 | "Increase register I6 with the literal value of M. | 482 | "Increase register I6 with the literal value of M. |
| 482 | The result is undefined when the result does not fit in | 483 | The result is undefined when the result does not fit in |
| 483 | 2 bytes." | 484 | 2 bytes." |
| 484 | 1) | 485 | 1) |
| 485 | 486 | ||
| 486 | (DECA address-transfer "decrease A" 48 | 487 | (DECA address-transfer "decrease A" 48 |
| 487 | "Decrease register A with the literal value of M. | 488 | "Decrease register A with the literal value of M. |
| 488 | On overflow the overflow toggle is set." | 489 | On overflow the overflow toggle is set." |
| 489 | 1) | 490 | 1) |
| 490 | 491 | ||
| 491 | (DECX address-transfer "decrease X" 55 | 492 | (DECX address-transfer "decrease X" 55 |
| 492 | "Decrease register X with the literal value of M. | 493 | "Decrease register X with the literal value of M. |
| 493 | On overflow the overflow toggle is set." | 494 | On overflow the overflow toggle is set." |
| 494 | 1) | 495 | 1) |
| 495 | 496 | ||
| 496 | (DEC1 address-transfer "decrease I1" ,(+ 48 1) | 497 | (DEC1 address-transfer "decrease I1" ,(+ 48 1) |
| 497 | "Decrease register I1 with the literal value of M. | 498 | "Decrease register I1 with the literal value of M. |
| 498 | The result is undefined when the result does not fit in | 499 | The result is undefined when the result does not fit in |
| 499 | 2 bytes." | 500 | 2 bytes." |
| 500 | 1) | 501 | 1) |
| 501 | 502 | ||
| 502 | (DEC2 address-transfer "decrease I2" ,(+ 48 2) | 503 | (DEC2 address-transfer "decrease I2" ,(+ 48 2) |
| 503 | "Decrease register I2 with the literal value of M. | 504 | "Decrease register I2 with the literal value of M. |
| 504 | The result is undefined when the result does not fit in | 505 | The result is undefined when the result does not fit in |
| 505 | 2 bytes." | 506 | 2 bytes." |
| 506 | 1) | 507 | 1) |
| 507 | 508 | ||
| 508 | (DEC3 address-transfer "decrease I3" ,(+ 48 3) | 509 | (DEC3 address-transfer "decrease I3" ,(+ 48 3) |
| 509 | "Decrease register I3 with the literal value of M. | 510 | "Decrease register I3 with the literal value of M. |
| 510 | The result is undefined when the result does not fit in | 511 | The result is undefined when the result does not fit in |
| 511 | 2 bytes." | 512 | 2 bytes." |
| 512 | 1) | 513 | 1) |
| 513 | 514 | ||
| 514 | (DEC4 address-transfer "decrease I4" ,(+ 48 4) | 515 | (DEC4 address-transfer "decrease I4" ,(+ 48 4) |
| 515 | "Decrease register I4 with the literal value of M. | 516 | "Decrease register I4 with the literal value of M. |
| 516 | The result is undefined when the result does not fit in | 517 | The result is undefined when the result does not fit in |
| 517 | 2 bytes." | 518 | 2 bytes." |
| 518 | 1) | 519 | 1) |
| 519 | 520 | ||
| 520 | (DEC5 address-transfer "decrease I5" ,(+ 48 5) | 521 | (DEC5 address-transfer "decrease I5" ,(+ 48 5) |
| 521 | "Decrease register I5 with the literal value of M. | 522 | "Decrease register I5 with the literal value of M. |
| 522 | The result is undefined when the result does not fit in | 523 | The result is undefined when the result does not fit in |
| 523 | 2 bytes." | 524 | 2 bytes." |
| 524 | 1) | 525 | 1) |
| 525 | 526 | ||
| 526 | (DEC6 address-transfer "decrease I6" ,(+ 48 6) | 527 | (DEC6 address-transfer "decrease I6" ,(+ 48 6) |
| 527 | "Decrease register I6 with the literal value of M. | 528 | "Decrease register I6 with the literal value of M. |
| 528 | The result is undefined when the result does not fit in | 529 | The result is undefined when the result does not fit in |
| 529 | 2 bytes." | 530 | 2 bytes." |
| 530 | 1) | 531 | 1) |
| 531 | 532 | ||
| 532 | (CMPA comparison "compare A" 56 field | 533 | (CMPA comparison "compare A" 56 field |
| 533 | "Compare contents of A with contents of M. | 534 | "Compare contents of A with contents of M. |
| 534 | The field specifier works on both fields. The comparison indicator | 535 | The field specifier works on both fields. The comparison indicator |
| 535 | is set to LESS, EQUAL or GREATER depending on the outcome." | 536 | is set to LESS, EQUAL or GREATER depending on the outcome." |
| 536 | 2) | 537 | 2) |
| 537 | 538 | ||
| 538 | 539 | ||
| 539 | (CMPX comparison "compare X" 63 field | 540 | (CMPX comparison "compare X" 63 field |
| 540 | "Compare contents of rX with contents of M. | 541 | "Compare contents of rX with contents of M. |
| 541 | The field specifier works on both fields. The comparison indicator | 542 | The field specifier works on both fields. The comparison indicator |
| 542 | is set to LESS, EQUAL or GREATER depending on the outcome." | 543 | is set to LESS, EQUAL or GREATER depending on the outcome." |
| 543 | 2) | 544 | 2) |
| 544 | 545 | ||
| 545 | 546 | ||
| 546 | (CMP1 comparison "compare I1" ,(+ 56 1) field | 547 | (CMP1 comparison "compare I1" ,(+ 56 1) field |
| 547 | "Compare contents of rI1 with contents of M. | 548 | "Compare contents of rI1 with contents of M. |
| 548 | The field specifier works on both fields. The comparison indicator | 549 | The field specifier works on both fields. The comparison indicator |
| 549 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 | 550 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 |
| 550 | have a value of 0." | 551 | have a value of 0." |
| 551 | 2) | 552 | 2) |
| 552 | 553 | ||
| 553 | 554 | ||
| 554 | (CMP2 comparison "compare I2" ,(+ 56 2) field | 555 | (CMP2 comparison "compare I2" ,(+ 56 2) field |
| 555 | "Compare contents of rI2 with contents of M. | 556 | "Compare contents of rI2 with contents of M. |
| 556 | The field specifier works on both fields. The comparison indicator | 557 | The field specifier works on both fields. The comparison indicator |
| 557 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 | 558 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 |
| 558 | have a value of 0." | 559 | have a value of 0." |
| 559 | 2) | 560 | 2) |
| 560 | 561 | ||
| 561 | 562 | ||
| 562 | (CMP3 comparison "compare I3" ,(+ 56 3) field | 563 | (CMP3 comparison "compare I3" ,(+ 56 3) field |
| 563 | "Compare contents of rI3 with contents of M. | 564 | "Compare contents of rI3 with contents of M. |
| 564 | The field specifier works on both fields. The comparison indicator | 565 | The field specifier works on both fields. The comparison indicator |
| 565 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 | 566 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 |
| 566 | have a value of 0." | 567 | have a value of 0." |
| 567 | 2) | 568 | 2) |
| 568 | 569 | ||
| 569 | 570 | ||
| 570 | (CMP4 comparison "compare I4" ,(+ 56 4) field | 571 | (CMP4 comparison "compare I4" ,(+ 56 4) field |
| 571 | "Compare contents of rI4 with contents of M. | 572 | "Compare contents of rI4 with contents of M. |
| 572 | The field specifier works on both fields. The comparison indicator | 573 | The field specifier works on both fields. The comparison indicator |
| 573 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 | 574 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 |
| 574 | have a value of 0." | 575 | have a value of 0." |
| 575 | 2) | 576 | 2) |
| 576 | 577 | ||
| 577 | 578 | ||
| 578 | (CMP5 comparison "compare I5" ,(+ 56 5) field | 579 | (CMP5 comparison "compare I5" ,(+ 56 5) field |
| 579 | "Compare contents of rI5 with contents of M. | 580 | "Compare contents of rI5 with contents of M. |
| 580 | The field specifier works on both fields. The comparison indicator | 581 | The field specifier works on both fields. The comparison indicator |
| 581 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 | 582 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 |
| 582 | have a value of 0." | 583 | have a value of 0." |
| 583 | 2) | 584 | 2) |
| 584 | 585 | ||
| 585 | 586 | ||
| 586 | (CMP6 comparison "compare I6" ,(+ 56 6) field | 587 | (CMP6 comparison "compare I6" ,(+ 56 6) field |
| 587 | "Compare contents of rI6 with contents of M. | 588 | "Compare contents of rI6 with contents of M. |
| 588 | The field specifier works on both fields. The comparison indicator | 589 | The field specifier works on both fields. The comparison indicator |
| 589 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 | 590 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 |
| 590 | have a value of 0." | 591 | have a value of 0." |
| 591 | 2) | 592 | 2) |
| 592 | 593 | ||
| 593 | (JMP jump "jump" 39 | 594 | (JMP jump "jump" 39 |
| 594 | "Unconditional jump. | 595 | "Unconditional jump. |
| 595 | Register J is set to the value of the next instruction that would have | 596 | Register J is set to the value of the next instruction that would have |
| 596 | been executed when there was no jump." | 597 | been executed when there was no jump." |
| 597 | 1) | 598 | 1) |
| 598 | 599 | ||
| 599 | (JSJ jump "jump, save J" 39 | 600 | (JSJ jump "jump, save J" 39 |
| 600 | "Unconditional jump, but rJ is not modified." | 601 | "Unconditional jump, but rJ is not modified." |
| 601 | 1) | 602 | 1) |
| 602 | 603 | ||
| 603 | (JOV jump "jump on overflow" 39 | 604 | (JOV jump "jump on overflow" 39 |
| 604 | "Jump if OV is set (and turn it off). | 605 | "Jump if OV is set (and turn it off). |
| 605 | Register J is set to the value of the next instruction that would have | 606 | Register J is set to the value of the next instruction that would have |
| 606 | been executed when there was no jump." | 607 | been executed when there was no jump." |
| 607 | 1) | 608 | 1) |
| 608 | 609 | ||
| 609 | (JNOV jump "Jump on no overflow" 39 | 610 | (JNOV jump "Jump on no overflow" 39 |
| 610 | "Jump if OV is not set (and turn it off). | 611 | "Jump if OV is not set (and turn it off). |
| 611 | Register J is set to the value of the next instruction that would have | 612 | Register J is set to the value of the next instruction that would have |
| 612 | been executed when there was no jump." | 613 | been executed when there was no jump." |
| 613 | 1) | 614 | 1) |
| 614 | 615 | ||
| 615 | (JL jump "Jump on less" 39 | 616 | (JL jump "Jump on less" 39 |
| 616 | "Jump if '[CM] = L'. | 617 | "Jump if '[CM] = L'. |
| 617 | Register J is set to the value of the next instruction that would have | 618 | Register J is set to the value of the next instruction that would have |
| 618 | been executed when there was no jump." | 619 | been executed when there was no jump." |
| 619 | 1) | 620 | 1) |
| 620 | 621 | ||
| 621 | 622 | ||
| 622 | (JE jump "Jump on equal" 39 | 623 | (JE jump "Jump on equal" 39 |
| 623 | "Jump if '[CM] = E'. | 624 | "Jump if '[CM] = E'. |
| 624 | Register J is set to the value of the next instruction that would have | 625 | Register J is set to the value of the next instruction that would have |
| 625 | been executed when there was no jump." | 626 | been executed when there was no jump." |
| 626 | 1) | 627 | 1) |
| 627 | 628 | ||
| 628 | 629 | ||
| 629 | (JG jump "Jump on greater" 39 | 630 | (JG jump "Jump on greater" 39 |
| 630 | "Jump if '[CM] = G'. | 631 | "Jump if '[CM] = G'. |
| 631 | Register J is set to the value of the next instruction that would have | 632 | Register J is set to the value of the next instruction that would have |
| 632 | been executed when there was no jump." | 633 | been executed when there was no jump." |
| 633 | 1) | 634 | 1) |
| 634 | 635 | ||
| 635 | 636 | ||
| 636 | (JGE jump "Jump on not less" 39 | 637 | (JGE jump "Jump on not less" 39 |
| 637 | "Jump if '[CM]' does not equal 'L'. | 638 | "Jump if '[CM]' does not equal 'L'. |
| 638 | Register J is set to the value of the next instruction that would have | 639 | Register J is set to the value of the next instruction that would have |
| 639 | been executed when there was no jump." | 640 | been executed when there was no jump." |
| 640 | 1) | 641 | 1) |
| 641 | 642 | ||
| 642 | 643 | ||
| 643 | (JNE jump "Jump on not equal" 39 | 644 | (JNE jump "Jump on not equal" 39 |
| 644 | "Jump if '[CM]' does not equal 'E'. | 645 | "Jump if '[CM]' does not equal 'E'. |
| 645 | Register J is set to the value of the next instruction that would have | 646 | Register J is set to the value of the next instruction that would have |
| 646 | been executed when there was no jump." | 647 | been executed when there was no jump." |
| 647 | 1) | 648 | 1) |
| 648 | 649 | ||
| 649 | 650 | ||
| 650 | (JLE jump "Jump on not greater" 39 | 651 | (JLE jump "Jump on not greater" 39 |
| 651 | "Jump if '[CM]' does not equal 'G'. | 652 | "Jump if '[CM]' does not equal 'G'. |
| 652 | Register J is set to the value of the next instruction that would have | 653 | Register J is set to the value of the next instruction that would have |
| 653 | been executed when there was no jump." | 654 | been executed when there was no jump." |
| 654 | 1) | 655 | 1) |
| 655 | 656 | ||
| 656 | (JAN jump "jump A negative" 40 | 657 | (JAN jump "jump A negative" 40 |
| 657 | "Jump if the content of rA is negative. | 658 | "Jump if the content of rA is negative. |
| 658 | Register J is set to the value of the next instruction that would have | 659 | Register J is set to the value of the next instruction that would have |
| 659 | been executed when there was no jump." | 660 | been executed when there was no jump." |
| 660 | 1) | 661 | 1) |
| 661 | 662 | ||
| 662 | 663 | ||
| 663 | (JAZ jump "jump A zero" 40 | 664 | (JAZ jump "jump A zero" 40 |
| 664 | "Jump if the content of rA is zero. | 665 | "Jump if the content of rA is zero. |
| 665 | Register J is set to the value of the next instruction that would have | 666 | Register J is set to the value of the next instruction that would have |
| 666 | been executed when there was no jump." | 667 | been executed when there was no jump." |
| 667 | 1) | 668 | 1) |
| 668 | 669 | ||
| 669 | 670 | ||
| 670 | (JAP jump "jump A positive" 40 | 671 | (JAP jump "jump A positive" 40 |
| 671 | "Jump if the content of rA is positive. | 672 | "Jump if the content of rA is positive. |
| 672 | Register J is set to the value of the next instruction that would have | 673 | Register J is set to the value of the next instruction that would have |
| 673 | been executed when there was no jump." | 674 | been executed when there was no jump." |
| 674 | 1) | 675 | 1) |
| 675 | 676 | ||
| 676 | 677 | ||
| 677 | (JANN jump "jump A non-negative" 40 | 678 | (JANN jump "jump A non-negative" 40 |
| 678 | "Jump if the content of rA is non-negative. | 679 | "Jump if the content of rA is non-negative. |
| 679 | Register J is set to the value of the next instruction that would have | 680 | Register J is set to the value of the next instruction that would have |
| 680 | been executed when there was no jump." | 681 | been executed when there was no jump." |
| 681 | 1) | 682 | 1) |
| 682 | 683 | ||
| 683 | 684 | ||
| 684 | (JANZ jump "jump A non-zero" 40 | 685 | (JANZ jump "jump A non-zero" 40 |
| 685 | "Jump if the content of rA is non-zero. | 686 | "Jump if the content of rA is non-zero. |
| 686 | Register J is set to the value of the next instruction that would have | 687 | Register J is set to the value of the next instruction that would have |
| 687 | been executed when there was no jump." | 688 | been executed when there was no jump." |
| 688 | 1) | 689 | 1) |
| 689 | 690 | ||
| 690 | 691 | ||
| 691 | (JANP jump "jump A non-positive" 40 | 692 | (JANP jump "jump A non-positive" 40 |
| 692 | "Jump if the content of rA is non-positive. | 693 | "Jump if the content of rA is non-positive. |
| 693 | Register J is set to the value of the next instruction that would have | 694 | Register J is set to the value of the next instruction that would have |
| 694 | been executed when there was no jump." | 695 | been executed when there was no jump." |
| 695 | 1) | 696 | 1) |
| 696 | 697 | ||
| 697 | (JXN jump "jump X negative" 47 | 698 | (JXN jump "jump X negative" 47 |
| 698 | "Jump if the content of rX is negative. | 699 | "Jump if the content of rX is negative. |
| 699 | Register J is set to the value of the next instruction that would have | 700 | Register J is set to the value of the next instruction that would have |
| 700 | been executed when there was no jump." | 701 | been executed when there was no jump." |
| 701 | 1) | 702 | 1) |
| 702 | 703 | ||
| 703 | 704 | ||
| 704 | (JXZ jump "jump X zero" 47 | 705 | (JXZ jump "jump X zero" 47 |
| 705 | "Jump if the content of rX is zero. | 706 | "Jump if the content of rX is zero. |
| 706 | Register J is set to the value of the next instruction that would have | 707 | Register J is set to the value of the next instruction that would have |
| 707 | been executed when there was no jump." | 708 | been executed when there was no jump." |
| 708 | 1) | 709 | 1) |
| 709 | 710 | ||
| 710 | 711 | ||
| 711 | (JXP jump "jump X positive" 47 | 712 | (JXP jump "jump X positive" 47 |
| 712 | "Jump if the content of rX is positive. | 713 | "Jump if the content of rX is positive. |
| 713 | Register J is set to the value of the next instruction that would have | 714 | Register J is set to the value of the next instruction that would have |
| 714 | been executed when there was no jump." | 715 | been executed when there was no jump." |
| 715 | 1) | 716 | 1) |
| 716 | 717 | ||
| 717 | 718 | ||
| 718 | (JXNN jump "jump X non-negative" 47 | 719 | (JXNN jump "jump X non-negative" 47 |
| 719 | "Jump if the content of rX is non-negative. | 720 | "Jump if the content of rX is non-negative. |
| 720 | Register J is set to the value of the next instruction that would have | 721 | Register J is set to the value of the next instruction that would have |
| 721 | been executed when there was no jump." | 722 | been executed when there was no jump." |
| 722 | 1) | 723 | 1) |
| 723 | 724 | ||
| 724 | 725 | ||
| 725 | (JXNZ jump "jump X non-zero" 47 | 726 | (JXNZ jump "jump X non-zero" 47 |
| 726 | "Jump if the content of rX is non-zero. | 727 | "Jump if the content of rX is non-zero. |
| 727 | Register J is set to the value of the next instruction that would have | 728 | Register J is set to the value of the next instruction that would have |
| 728 | been executed when there was no jump." | 729 | been executed when there was no jump." |
| 729 | 1) | 730 | 1) |
| 730 | 731 | ||
| 731 | 732 | ||
| 732 | (JXNP jump "jump X non-positive" 47 | 733 | (JXNP jump "jump X non-positive" 47 |
| 733 | "Jump if the content of rX is non-positive. | 734 | "Jump if the content of rX is non-positive. |
| 734 | Register J is set to the value of the next instruction that would have | 735 | Register J is set to the value of the next instruction that would have |
| 735 | been executed when there was no jump." | 736 | been executed when there was no jump." |
| 736 | 1) | 737 | 1) |
| 737 | 738 | ||
| 738 | (J1N jump "jump I1 negative" ,(+ 40 1) | 739 | (J1N jump "jump I1 negative" ,(+ 40 1) |
| 739 | "Jump if the content of rI1 is negative. | 740 | "Jump if the content of rI1 is negative. |
| 740 | Register J is set to the value of the next instruction that would have | 741 | Register J is set to the value of the next instruction that would have |
| 741 | been executed when there was no jump." | 742 | been executed when there was no jump." |
| 742 | 1) | 743 | 1) |
| 743 | 744 | ||
| 744 | 745 | ||
| 745 | (J1Z jump "jump I1 zero" ,(+ 40 1) | 746 | (J1Z jump "jump I1 zero" ,(+ 40 1) |
| 746 | "Jump if the content of rI1 is zero. | 747 | "Jump if the content of rI1 is zero. |
| 747 | Register J is set to the value of the next instruction that would have | 748 | Register J is set to the value of the next instruction that would have |
| 748 | been executed when there was no jump." | 749 | been executed when there was no jump." |
| 749 | 1) | 750 | 1) |
| 750 | 751 | ||
| 751 | 752 | ||
| 752 | (J1P jump "jump I1 positive" ,(+ 40 1) | 753 | (J1P jump "jump I1 positive" ,(+ 40 1) |
| 753 | "Jump if the content of rI1 is positive. | 754 | "Jump if the content of rI1 is positive. |
| 754 | Register J is set to the value of the next instruction that would have | 755 | Register J is set to the value of the next instruction that would have |
| 755 | been executed when there was no jump." | 756 | been executed when there was no jump." |
| 756 | 1) | 757 | 1) |
| 757 | 758 | ||
| 758 | 759 | ||
| 759 | (J1NN jump "jump I1 non-negative" ,(+ 40 1) | 760 | (J1NN jump "jump I1 non-negative" ,(+ 40 1) |
| 760 | "Jump if the content of rI1 is non-negative. | 761 | "Jump if the content of rI1 is non-negative. |
| 761 | Register J is set to the value of the next instruction that would have | 762 | Register J is set to the value of the next instruction that would have |
| 762 | been executed when there was no jump." | 763 | been executed when there was no jump." |
| 763 | 1) | 764 | 1) |
| 764 | 765 | ||
| 765 | 766 | ||
| 766 | (J1NZ jump "jump I1 non-zero" ,(+ 40 1) | 767 | (J1NZ jump "jump I1 non-zero" ,(+ 40 1) |
| 767 | "Jump if the content of rI1 is non-zero. | 768 | "Jump if the content of rI1 is non-zero. |
| 768 | Register J is set to the value of the next instruction that would have | 769 | Register J is set to the value of the next instruction that would have |
| 769 | been executed when there was no jump." | 770 | been executed when there was no jump." |
| 770 | 1) | 771 | 1) |
| 771 | 772 | ||
| 772 | 773 | ||
| 773 | (J1NP jump "jump I1 non-positive" ,(+ 40 1) | 774 | (J1NP jump "jump I1 non-positive" ,(+ 40 1) |
| 774 | "Jump if the content of rI1 is non-positive. | 775 | "Jump if the content of rI1 is non-positive. |
| 775 | Register J is set to the value of the next instruction that would have | 776 | Register J is set to the value of the next instruction that would have |
| 776 | been executed when there was no jump." | 777 | been executed when there was no jump." |
| 777 | 1) | 778 | 1) |
| 778 | 779 | ||
| 779 | (J2N jump "jump I2 negative" ,(+ 40 1) | 780 | (J2N jump "jump I2 negative" ,(+ 40 1) |
| 780 | "Jump if the content of rI2 is negative. | 781 | "Jump if the content of rI2 is negative. |
| 781 | Register J is set to the value of the next instruction that would have | 782 | Register J is set to the value of the next instruction that would have |
| 782 | been executed when there was no jump." | 783 | been executed when there was no jump." |
| 783 | 1) | 784 | 1) |
| 784 | 785 | ||
| 785 | 786 | ||
| 786 | (J2Z jump "jump I2 zero" ,(+ 40 1) | 787 | (J2Z jump "jump I2 zero" ,(+ 40 1) |
| 787 | "Jump if the content of rI2 is zero. | 788 | "Jump if the content of rI2 is zero. |
| 788 | Register J is set to the value of the next instruction that would have | 789 | Register J is set to the value of the next instruction that would have |
| 789 | been executed when there was no jump." | 790 | been executed when there was no jump." |
| 790 | 1) | 791 | 1) |
| 791 | 792 | ||
| 792 | 793 | ||
| 793 | (J2P jump "jump I2 positive" ,(+ 40 1) | 794 | (J2P jump "jump I2 positive" ,(+ 40 1) |
| 794 | "Jump if the content of rI2 is positive. | 795 | "Jump if the content of rI2 is positive. |
| 795 | Register J is set to the value of the next instruction that would have | 796 | Register J is set to the value of the next instruction that would have |
| 796 | been executed when there was no jump." | 797 | been executed when there was no jump." |
| 797 | 1) | 798 | 1) |
| 798 | 799 | ||
| 799 | 800 | ||
| 800 | (J2NN jump "jump I2 non-negative" ,(+ 40 1) | 801 | (J2NN jump "jump I2 non-negative" ,(+ 40 1) |
| 801 | "Jump if the content of rI2 is non-negative. | 802 | "Jump if the content of rI2 is non-negative. |
| 802 | Register J is set to the value of the next instruction that would have | 803 | Register J is set to the value of the next instruction that would have |
| 803 | been executed when there was no jump." | 804 | been executed when there was no jump." |
| 804 | 1) | 805 | 1) |
| 805 | 806 | ||
| 806 | 807 | ||
| 807 | (J2NZ jump "jump I2 non-zero" ,(+ 40 1) | 808 | (J2NZ jump "jump I2 non-zero" ,(+ 40 1) |
| 808 | "Jump if the content of rI2 is non-zero. | 809 | "Jump if the content of rI2 is non-zero. |
| 809 | Register J is set to the value of the next instruction that would have | 810 | Register J is set to the value of the next instruction that would have |
| 810 | been executed when there was no jump." | 811 | been executed when there was no jump." |
| 811 | 1) | 812 | 1) |
| 812 | 813 | ||
| 813 | 814 | ||
| 814 | (J2NP jump "jump I2 non-positive" ,(+ 40 1) | 815 | (J2NP jump "jump I2 non-positive" ,(+ 40 1) |
| 815 | "Jump if the content of rI2 is non-positive. | 816 | "Jump if the content of rI2 is non-positive. |
| 816 | Register J is set to the value of the next instruction that would have | 817 | Register J is set to the value of the next instruction that would have |
| 817 | been executed when there was no jump." | 818 | been executed when there was no jump." |
| 818 | 1) | 819 | 1) |
| 819 | 820 | ||
| 820 | 821 | ||
| 821 | (J3N jump "jump I3 negative" ,(+ 40 1) | 822 | (J3N jump "jump I3 negative" ,(+ 40 1) |
| 822 | "Jump if the content of rI3 is negative. | 823 | "Jump if the content of rI3 is negative. |
| 823 | Register J is set to the value of the next instruction that would have | 824 | Register J is set to the value of the next instruction that would have |
| 824 | been executed when there was no jump." | 825 | been executed when there was no jump." |
| 825 | 1) | 826 | 1) |
| 826 | 827 | ||
| 827 | 828 | ||
| 828 | (J3Z jump "jump I3 zero" ,(+ 40 1) | 829 | (J3Z jump "jump I3 zero" ,(+ 40 1) |
| 829 | "Jump if the content of rI3 is zero. | 830 | "Jump if the content of rI3 is zero. |
| 830 | Register J is set to the value of the next instruction that would have | 831 | Register J is set to the value of the next instruction that would have |
| 831 | been executed when there was no jump." | 832 | been executed when there was no jump." |
| 832 | 1) | 833 | 1) |
| 833 | 834 | ||
| 834 | 835 | ||
| 835 | (J3P jump "jump I3 positive" ,(+ 40 1) | 836 | (J3P jump "jump I3 positive" ,(+ 40 1) |
| 836 | "Jump if the content of rI3 is positive. | 837 | "Jump if the content of rI3 is positive. |
| 837 | Register J is set to the value of the next instruction that would have | 838 | Register J is set to the value of the next instruction that would have |
| 838 | been executed when there was no jump." | 839 | been executed when there was no jump." |
| 839 | 1) | 840 | 1) |
| 840 | 841 | ||
| 841 | 842 | ||
| 842 | (J3NN jump "jump I3 non-negative" ,(+ 40 1) | 843 | (J3NN jump "jump I3 non-negative" ,(+ 40 1) |
| 843 | "Jump if the content of rI3 is non-negative. | 844 | "Jump if the content of rI3 is non-negative. |
| 844 | Register J is set to the value of the next instruction that would have | 845 | Register J is set to the value of the next instruction that would have |
| 845 | been executed when there was no jump." | 846 | been executed when there was no jump." |
| 846 | 1) | 847 | 1) |
| 847 | 848 | ||
| 848 | 849 | ||
| 849 | (J3NZ jump "jump I3 non-zero" ,(+ 40 1) | 850 | (J3NZ jump "jump I3 non-zero" ,(+ 40 1) |
| 850 | "Jump if the content of rI3 is non-zero. | 851 | "Jump if the content of rI3 is non-zero. |
| 851 | Register J is set to the value of the next instruction that would have | 852 | Register J is set to the value of the next instruction that would have |
| 852 | been executed when there was no jump." | 853 | been executed when there was no jump." |
| 853 | 1) | 854 | 1) |
| 854 | 855 | ||
| 855 | 856 | ||
| 856 | (J3NP jump "jump I3 non-positive" ,(+ 40 1) | 857 | (J3NP jump "jump I3 non-positive" ,(+ 40 1) |
| 857 | "Jump if the content of rI3 is non-positive. | 858 | "Jump if the content of rI3 is non-positive. |
| 858 | Register J is set to the value of the next instruction that would have | 859 | Register J is set to the value of the next instruction that would have |
| 859 | been executed when there was no jump." | 860 | been executed when there was no jump." |
| 860 | 1) | 861 | 1) |
| 861 | 862 | ||
| 862 | 863 | ||
| 863 | (J4N jump "jump I4 negative" ,(+ 40 1) | 864 | (J4N jump "jump I4 negative" ,(+ 40 1) |
| 864 | "Jump if the content of rI4 is negative. | 865 | "Jump if the content of rI4 is negative. |
| 865 | Register J is set to the value of the next instruction that would have | 866 | Register J is set to the value of the next instruction that would have |
| 866 | been executed when there was no jump." | 867 | been executed when there was no jump." |
| 867 | 1) | 868 | 1) |
| 868 | 869 | ||
| 869 | 870 | ||
| 870 | (J4Z jump "jump I4 zero" ,(+ 40 1) | 871 | (J4Z jump "jump I4 zero" ,(+ 40 1) |
| 871 | "Jump if the content of rI4 is zero. | 872 | "Jump if the content of rI4 is zero. |
| 872 | Register J is set to the value of the next instruction that would have | 873 | Register J is set to the value of the next instruction that would have |
| 873 | been executed when there was no jump." | 874 | been executed when there was no jump." |
| 874 | 1) | 875 | 1) |
| 875 | 876 | ||
| 876 | 877 | ||
| 877 | (J4P jump "jump I4 positive" ,(+ 40 1) | 878 | (J4P jump "jump I4 positive" ,(+ 40 1) |
| 878 | "Jump if the content of rI4 is positive. | 879 | "Jump if the content of rI4 is positive. |
| 879 | Register J is set to the value of the next instruction that would have | 880 | Register J is set to the value of the next instruction that would have |
| 880 | been executed when there was no jump." | 881 | been executed when there was no jump." |
| 881 | 1) | 882 | 1) |
| 882 | 883 | ||
| 883 | 884 | ||
| 884 | (J4NN jump "jump I4 non-negative" ,(+ 40 1) | 885 | (J4NN jump "jump I4 non-negative" ,(+ 40 1) |
| 885 | "Jump if the content of rI4 is non-negative. | 886 | "Jump if the content of rI4 is non-negative. |
| 886 | Register J is set to the value of the next instruction that would have | 887 | Register J is set to the value of the next instruction that would have |
| 887 | been executed when there was no jump." | 888 | been executed when there was no jump." |
| 888 | 1) | 889 | 1) |
| 889 | 890 | ||
| 890 | 891 | ||
| 891 | (J4NZ jump "jump I4 non-zero" ,(+ 40 1) | 892 | (J4NZ jump "jump I4 non-zero" ,(+ 40 1) |
| 892 | "Jump if the content of rI4 is non-zero. | 893 | "Jump if the content of rI4 is non-zero. |
| 893 | Register J is set to the value of the next instruction that would have | 894 | Register J is set to the value of the next instruction that would have |
| 894 | been executed when there was no jump." | 895 | been executed when there was no jump." |
| 895 | 1) | 896 | 1) |
| 896 | 897 | ||
| 897 | 898 | ||
| 898 | (J4NP jump "jump I4 non-positive" ,(+ 40 1) | 899 | (J4NP jump "jump I4 non-positive" ,(+ 40 1) |
| 899 | "Jump if the content of rI4 is non-positive. | 900 | "Jump if the content of rI4 is non-positive. |
| 900 | Register J is set to the value of the next instruction that would have | 901 | Register J is set to the value of the next instruction that would have |
| 901 | been executed when there was no jump." | 902 | been executed when there was no jump." |
| 902 | 1) | 903 | 1) |
| 903 | 904 | ||
| 904 | 905 | ||
| 905 | (J5N jump "jump I5 negative" ,(+ 40 1) | 906 | (J5N jump "jump I5 negative" ,(+ 40 1) |
| 906 | "Jump if the content of rI5 is negative. | 907 | "Jump if the content of rI5 is negative. |
| 907 | Register J is set to the value of the next instruction that would have | 908 | Register J is set to the value of the next instruction that would have |
| 908 | been executed when there was no jump." | 909 | been executed when there was no jump." |
| 909 | 1) | 910 | 1) |
| 910 | 911 | ||
| 911 | 912 | ||
| 912 | (J5Z jump "jump I5 zero" ,(+ 40 1) | 913 | (J5Z jump "jump I5 zero" ,(+ 40 1) |
| 913 | "Jump if the content of rI5 is zero. | 914 | "Jump if the content of rI5 is zero. |
| 914 | Register J is set to the value of the next instruction that would have | 915 | Register J is set to the value of the next instruction that would have |
| 915 | been executed when there was no jump." | 916 | been executed when there was no jump." |
| 916 | 1) | 917 | 1) |
| 917 | 918 | ||
| 918 | 919 | ||
| 919 | (J5P jump "jump I5 positive" ,(+ 40 1) | 920 | (J5P jump "jump I5 positive" ,(+ 40 1) |
| 920 | "Jump if the content of rI5 is positive. | 921 | "Jump if the content of rI5 is positive. |
| 921 | Register J is set to the value of the next instruction that would have | 922 | Register J is set to the value of the next instruction that would have |
| 922 | been executed when there was no jump." | 923 | been executed when there was no jump." |
| 923 | 1) | 924 | 1) |
| 924 | 925 | ||
| 925 | 926 | ||
| 926 | (J5NN jump "jump I5 non-negative" ,(+ 40 1) | 927 | (J5NN jump "jump I5 non-negative" ,(+ 40 1) |
| 927 | "Jump if the content of rI5 is non-negative. | 928 | "Jump if the content of rI5 is non-negative. |
| 928 | Register J is set to the value of the next instruction that would have | 929 | Register J is set to the value of the next instruction that would have |
| 929 | been executed when there was no jump." | 930 | been executed when there was no jump." |
| 930 | 1) | 931 | 1) |
| 931 | 932 | ||
| 932 | 933 | ||
| 933 | (J5NZ jump "jump I5 non-zero" ,(+ 40 1) | 934 | (J5NZ jump "jump I5 non-zero" ,(+ 40 1) |
| 934 | "Jump if the content of rI5 is non-zero. | 935 | "Jump if the content of rI5 is non-zero. |
| 935 | Register J is set to the value of the next instruction that would have | 936 | Register J is set to the value of the next instruction that would have |
| 936 | been executed when there was no jump." | 937 | been executed when there was no jump." |
| 937 | 1) | 938 | 1) |
| 938 | 939 | ||
| 939 | 940 | ||
| 940 | (J5NP jump "jump I5 non-positive" ,(+ 40 1) | 941 | (J5NP jump "jump I5 non-positive" ,(+ 40 1) |
| 941 | "Jump if the content of rI5 is non-positive. | 942 | "Jump if the content of rI5 is non-positive. |
| 942 | Register J is set to the value of the next instruction that would have | 943 | Register J is set to the value of the next instruction that would have |
| 943 | been executed when there was no jump." | 944 | been executed when there was no jump." |
| 944 | 1) | 945 | 1) |
| 945 | 946 | ||
| 946 | 947 | ||
| 947 | (J6N jump "jump I6 negative" ,(+ 40 1) | 948 | (J6N jump "jump I6 negative" ,(+ 40 1) |
| 948 | "Jump if the content of rI6 is negative. | 949 | "Jump if the content of rI6 is negative. |
| 949 | Register J is set to the value of the next instruction that would have | 950 | Register J is set to the value of the next instruction that would have |
| 950 | been executed when there was no jump." | 951 | been executed when there was no jump." |
| 951 | 1) | 952 | 1) |
| 952 | 953 | ||
| 953 | 954 | ||
| 954 | (J6Z jump "jump I6 zero" ,(+ 40 1) | 955 | (J6Z jump "jump I6 zero" ,(+ 40 1) |
| 955 | "Jump if the content of rI6 is zero. | 956 | "Jump if the content of rI6 is zero. |
| 956 | Register J is set to the value of the next instruction that would have | 957 | Register J is set to the value of the next instruction that would have |
| 957 | been executed when there was no jump." | 958 | been executed when there was no jump." |
| 958 | 1) | 959 | 1) |
| 959 | 960 | ||
| 960 | 961 | ||
| 961 | (J6P jump "jump I6 positive" ,(+ 40 1) | 962 | (J6P jump "jump I6 positive" ,(+ 40 1) |
| 962 | "Jump if the content of rI6 is positive. | 963 | "Jump if the content of rI6 is positive. |
| 963 | Register J is set to the value of the next instruction that would have | 964 | Register J is set to the value of the next instruction that would have |
| 964 | been executed when there was no jump." | 965 | been executed when there was no jump." |
| 965 | 1) | 966 | 1) |
| 966 | 967 | ||
| 967 | 968 | ||
| 968 | (J6NN jump "jump I6 non-negative" ,(+ 40 1) | 969 | (J6NN jump "jump I6 non-negative" ,(+ 40 1) |
| 969 | "Jump if the content of rI6 is non-negative. | 970 | "Jump if the content of rI6 is non-negative. |
| 970 | Register J is set to the value of the next instruction that would have | 971 | Register J is set to the value of the next instruction that would have |
| 971 | been executed when there was no jump." | 972 | been executed when there was no jump." |
| 972 | 1) | 973 | 1) |
| 973 | 974 | ||
| 974 | 975 | ||
| 975 | (J6NZ jump "jump I6 non-zero" ,(+ 40 1) | 976 | (J6NZ jump "jump I6 non-zero" ,(+ 40 1) |
| 976 | "Jump if the content of rI6 is non-zero. | 977 | "Jump if the content of rI6 is non-zero. |
| 977 | Register J is set to the value of the next instruction that would have | 978 | Register J is set to the value of the next instruction that would have |
| 978 | been executed when there was no jump." | 979 | been executed when there was no jump." |
| 979 | 1) | 980 | 1) |
| 980 | 981 | ||
| 981 | 982 | ||
| 982 | (J6NP jump "jump I6 non-positive" ,(+ 40 1) | 983 | (J6NP jump "jump I6 non-positive" ,(+ 40 1) |
| 983 | "Jump if the content of rI6 is non-positive. | 984 | "Jump if the content of rI6 is non-positive. |
| 984 | Register J is set to the value of the next instruction that would have | 985 | Register J is set to the value of the next instruction that would have |
| 985 | been executed when there was no jump." | 986 | been executed when there was no jump." |
| 986 | 1) | 987 | 1) |
| 987 | 988 | ||
| 988 | (SLA miscellaneous "shift left A" 6 | 989 | (SLA miscellaneous "shift left A" 6 |
| 989 | "Shift to A, M bytes left. | 990 | "Shift to A, M bytes left. |
| 990 | Hero's will be added to the right." | 991 | Hero's will be added to the right." |
| 991 | 2) | 992 | 2) |
| 992 | 993 | ||
| 993 | 994 | ||
| 994 | (SRA miscellaneous "shift right A" 6 | 995 | (SRA miscellaneous "shift right A" 6 |
| 995 | "Shift to A, M bytes right. | 996 | "Shift to A, M bytes right. |
| 996 | Zeros will be added to the left." | 997 | Zeros will be added to the left." |
| 997 | 2) | 998 | 2) |
| 998 | 999 | ||
| 999 | 1000 | ||
| 1000 | (SLAX miscellaneous "shift left AX" 6 | 1001 | (SLAX miscellaneous "shift left AX" 6 |
| 1001 | "Shift AX, M bytes left. | 1002 | "Shift AX, M bytes left. |
| 1002 | Zeros will be added to the right." | 1003 | Zeros will be added to the right." |
| 1003 | 2) | 1004 | 2) |
| 1004 | 1005 | ||
| 1005 | 1006 | ||
| 1006 | 1007 | ||
| 1007 | (SRAX miscellaneous "shift right AX" 6 | 1008 | (SRAX miscellaneous "shift right AX" 6 |
| 1008 | "Shift AX, M bytes right. | 1009 | "Shift AX, M bytes right. |
| 1009 | Zeros will be added to the left." | 1010 | Zeros will be added to the left." |
| 1010 | 2) | 1011 | 2) |
| 1011 | 1012 | ||
| 1012 | 1013 | ||
| 1013 | (SLC miscellaneous "shift left AX circularly" 6 | 1014 | (SLC miscellaneous "shift left AX circularly" 6 |
| 1014 | "Shift AX, M bytes left circularly. | 1015 | "Shift AX, M bytes left circularly. |
| 1015 | The bytes that fall off to the left will be added to the right." | 1016 | The bytes that fall off to the left will be added to the right." |
| 1016 | 2) | 1017 | 2) |
| 1017 | 1018 | ||
| 1018 | 1019 | ||
| 1019 | (SRC miscellaneous "shift right AX circularly" 6 | 1020 | (SRC miscellaneous "shift right AX circularly" 6 |
| 1020 | "Shift AX, M bytes right circularly. | 1021 | "Shift AX, M bytes right circularly. |
| 1021 | The bytes that fall off to the right will be added to the left." | 1022 | The bytes that fall off to the right will be added to the left." |
| 1022 | 2) | 1023 | 2) |
| 1023 | 1024 | ||
| 1024 | (MOVE miscellaneous "move" 7 number | 1025 | (MOVE miscellaneous "move" 7 number |
| 1025 | "Move MOD words from M to the location stored in rI1." | 1026 | "Move MOD words from M to the location stored in rI1." |
| 1026 | (+ 1 (* 2 number))) | 1027 | (+ 1 (* 2 number))) |
| 1027 | 1028 | ||
| 1028 | (NOP miscellaneous "no operation" 0 ignored | 1029 | (NOP miscellaneous "no operation" 0 ignored |
| 1029 | "No operation, M and F are not used by the machine." | 1030 | "No operation, M and F are not used by the machine." |
| 1030 | 1) | 1031 | 1) |
| 1031 | 1032 | ||
| 1032 | (HLT miscellaneous "halt" 5 | 1033 | (HLT miscellaneous "halt" 5 |
| 1033 | "Halt. | 1034 | "Halt. |
| 1034 | Stop instruction fetching." | 1035 | Stop instruction fetching." |
| 1035 | 1) | 1036 | 1) |
| 1036 | 1037 | ||
| 1037 | (IN input-output "input" 36 unit | 1038 | (IN input-output "input" 36 unit |
| 1038 | "Transfer a block of words from the specified unit to memory. | 1039 | "Transfer a block of words from the specified unit to memory. |
| 1039 | The transfer starts at address M." | 1040 | The transfer starts at address M." |
| 1040 | 1) | 1041 | 1) |
| 1041 | 1042 | ||
| 1042 | (OUT input-output "output" 37 unit | 1043 | (OUT input-output "output" 37 unit |
| 1043 | "Transfer a block of words from memory. | 1044 | "Transfer a block of words from memory. |
| 1044 | The transfer starts at address M to the specified unit." | 1045 | The transfer starts at address M to the specified unit." |
| 1045 | 1) | 1046 | 1) |
| 1046 | 1047 | ||
| 1047 | (IOC input-output "input-output control" 35 unit | 1048 | (IOC input-output "input-output control" 35 unit |
| 1048 | "Perform a control operation. | 1049 | "Perform a control operation. |
| 1049 | The control operation is given by M on the specified unit." | 1050 | The control operation is given by M on the specified unit." |
| 1050 | 1) | 1051 | 1) |
| 1051 | 1052 | ||
| 1052 | (JRED input-output "jump ready" 38 unit | 1053 | (JRED input-output "jump ready" 38 unit |
| 1053 | "Jump to M if the specified unit is ready." | 1054 | "Jump to M if the specified unit is ready." |
| 1054 | 1) | 1055 | 1) |
| 1055 | 1056 | ||
| 1056 | 1057 | ||
| 1057 | (JBUS input-output "jump busy" 34 unit | 1058 | (JBUS input-output "jump busy" 34 unit |
| 1058 | "Jump to M if the specified unit is busy." | 1059 | "Jump to M if the specified unit is busy." |
| 1059 | 1) | 1060 | 1) |
| 1060 | 1061 | ||
| 1061 | (NUM conversion "convert to numeric" 5 | 1062 | (NUM conversion "convert to numeric" 5 |
| 1062 | "Convert rAX to its numerical value and store it in rA. | 1063 | "Convert rAX to its numerical value and store it in rA. |
| 1063 | the register rAX is assumed to contain a character representation of | 1064 | the register rAX is assumed to contain a character representation of |
| 1064 | a number." | 1065 | a number." |
| 1065 | 10) | 1066 | 10) |
| 1066 | 1067 | ||
| 1067 | (CHAR conversion "convert to characters" 5 | 1068 | (CHAR conversion "convert to characters" 5 |
| 1068 | "Convert the number stored in rA to a character representation. | 1069 | "Convert the number stored in rA to a character representation. |
| 1069 | The converted character representation is stored in rAX." | 1070 | The converted character representation is stored in rAX." |
| 1070 | 10)) | 1071 | 10))) |
| 1071 | 1072 | ||
| 1072 | "Alist that contains all the possible operation codes for mix. | 1073 | "Alist that contains all the possible operation codes for mix. |
| 1073 | Each elt has the form | 1074 | Each elt has the form |