diff options
| author | 1982-03-03 16:51:26 -0800 | |
|---|---|---|
| committer | 2018-09-21 17:51:26 -0700 | |
| commit | fce0f75959b9806f4016beb7b19e19b37cc97b6c (patch) | |
| tree | 758374b64f03e049ca9cfb8cae2674ec5b72cd2b /v1.25/source/TRANS.ASM | |
| parent | Initial commit (diff) | |
| download | ms-dos-fce0f75959b9806f4016beb7b19e19b37cc97b6c.tar.gz ms-dos-fce0f75959b9806f4016beb7b19e19b37cc97b6c.tar.xz ms-dos-fce0f75959b9806f4016beb7b19e19b37cc97b6c.zip | |
MS-DOS v1.25 Release
Diffstat (limited to 'v1.25/source/TRANS.ASM')
| -rw-r--r-- | v1.25/source/TRANS.ASM | 1213 |
1 files changed, 1213 insertions, 0 deletions
diff --git a/v1.25/source/TRANS.ASM b/v1.25/source/TRANS.ASM new file mode 100644 index 0000000..6b06619 --- /dev/null +++ b/v1.25/source/TRANS.ASM | |||
| @@ -0,0 +1,1213 @@ | |||
| 1 | ; Z80 to 8086 Translator version 2.21 | ||
| 2 | ; Runs on the 8086 under 86-DOS | ||
| 3 | ; by Tim Paterson | ||
| 4 | ; | ||
| 5 | ORG 100H | ||
| 6 | EOF: EQU 1AH ;End of file | ||
| 7 | EOL: EQU 0DH | ||
| 8 | FCB: EQU 5CH | ||
| 9 | SYSTEM: EQU 5 | ||
| 10 | OPEN: EQU 15 | ||
| 11 | CLOSE: EQU 16 | ||
| 12 | SETDMA: EQU 26 | ||
| 13 | CREATE: EQU 22 | ||
| 14 | DELETE: EQU 19 | ||
| 15 | READ: EQU 20 | ||
| 16 | WRITE: EQU 21 | ||
| 17 | PRNBUF: EQU 9 | ||
| 18 | MOV SP,STACK | ||
| 19 | MOV DX,HEADER | ||
| 20 | MOV CL,9 | ||
| 21 | CALL SYSTEM | ||
| 22 | MOV BX,FCB+12 | ||
| 23 | XOR AL,AL | ||
| 24 | MOV CH,4 | ||
| 25 | CLRFCB: | ||
| 26 | MOV [BX],AL | ||
| 27 | INC BX | ||
| 28 | DEC CH | ||
| 29 | JNZ CLRFCB | ||
| 30 | MOV [FCB+32],AL | ||
| 31 | MOV BX,FCB | ||
| 32 | MOV DX,PUTFCB | ||
| 33 | MOV CX,16 | ||
| 34 | UP | ||
| 35 | MOV SI,BX | ||
| 36 | MOV DI,DX | ||
| 37 | REP | ||
| 38 | MOVB | ||
| 39 | MOV DX,DI | ||
| 40 | MOV BX,SI | ||
| 41 | MOV [PUTFCB+32],AL | ||
| 42 | MOV BX,"A"+5300H ;"AS" | ||
| 43 | MOV [PUTFCB+9],BX | ||
| 44 | MOV AL,'M' | ||
| 45 | MOV [PUTFCB+11],AL | ||
| 46 | MOV DX,FCB | ||
| 47 | MOV CL,OPEN | ||
| 48 | CALL SYSTEM | ||
| 49 | INC AL | ||
| 50 | MOV DX,NOFILE | ||
| 51 | JZ ABORTJ | ||
| 52 | MOV DX,PUTFCB | ||
| 53 | MOV CL,DELETE | ||
| 54 | CALL SYSTEM | ||
| 55 | MOV DX,PUTFCB | ||
| 56 | MOV CL,CREATE | ||
| 57 | CALL SYSTEM | ||
| 58 | INC AL | ||
| 59 | MOV DX,NOROOM | ||
| 60 | ABORTJ: | ||
| 61 | JZ ABORT | ||
| 62 | MOV DX,PUTFCB | ||
| 63 | MOV CL,OPEN | ||
| 64 | CALL SYSTEM | ||
| 65 | MOV BX,PUTBUF | ||
| 66 | MOV [PUTPT],BX | ||
| 67 | MOV BX,GETBUF+80H | ||
| 68 | MOV [GETPT],BX | ||
| 69 | TRANLN: | ||
| 70 | XOR AL,AL | ||
| 71 | MOV [OP1],AL | ||
| 72 | MOV [OP2],AL | ||
| 73 | MOV BX,OPCODE | ||
| 74 | CALL LOAD | ||
| 75 | MOV BX,OP1 | ||
| 76 | CALL GETOP | ||
| 77 | MOV B,[BX],0 | ||
| 78 | MOV BX,OP2 | ||
| 79 | CALL GETOP | ||
| 80 | DOLIN: | ||
| 81 | MOV B,[BX],0 | ||
| 82 | CALL FINDOP | ||
| 83 | ENLIN: | ||
| 84 | MOV SP,STACK | ||
| 85 | MOV AL,[CHAR] | ||
| 86 | CMP AL,';' | ||
| 87 | JNZ NOCOM | ||
| 88 | MOV AL,9 | ||
| 89 | CALL PUTCH | ||
| 90 | MOV AL,';' | ||
| 91 | NOCOM: | ||
| 92 | CALL PUTCH | ||
| 93 | PUTLIN: | ||
| 94 | CMP AL,EOF | ||
| 95 | JZ END | ||
| 96 | CALL GETCH | ||
| 97 | CALL PUTCH | ||
| 98 | CMP AL,10 | ||
| 99 | JNZ PUTLIN | ||
| 100 | JP TRANLN | ||
| 101 | END: | ||
| 102 | MOV CH,127 | ||
| 103 | MOV AL,1AH | ||
| 104 | FILL: | ||
| 105 | CALL PUTCH | ||
| 106 | DEC CH | ||
| 107 | JNZ FILL | ||
| 108 | MOV DX,PUTFCB | ||
| 109 | MOV CL,CLOSE | ||
| 110 | CALL SYSTEM | ||
| 111 | MOV DX,ENDMES | ||
| 112 | ABORT: | ||
| 113 | MOV CL,PRNBUF | ||
| 114 | CALL SYSTEM | ||
| 115 | JMP 0 | ||
| 116 | DELIM: | ||
| 117 | CALL GETCH | ||
| 118 | DELCHK: | ||
| 119 | CMP AL,EOL | ||
| 120 | JZ DOLIN | ||
| 121 | CMP AL,EOF | ||
| 122 | JZ DOLIN | ||
| 123 | CMP AL,';' | ||
| 124 | JZ DOLIN | ||
| 125 | CMP AL,' ' | ||
| 126 | JZ RET | ||
| 127 | CMP AL,':' | ||
| 128 | JZ RET | ||
| 129 | CMP AL,',' | ||
| 130 | JZ RET | ||
| 131 | CMP AL,9 | ||
| 132 | RET | ||
| 133 | HEX: | ||
| 134 | AND AL,0FH | ||
| 135 | ADD AL,90H | ||
| 136 | DAA | ||
| 137 | ADC AL,40H | ||
| 138 | DAA | ||
| 139 | PUTCH: | ||
| 140 | PUSH BX | ||
| 141 | PUSH DX | ||
| 142 | PUSH CX | ||
| 143 | LAHF | ||
| 144 | XCHG AH,AL | ||
| 145 | PUSH AX | ||
| 146 | XCHG AH,AL | ||
| 147 | AND AL,7FH | ||
| 148 | MOV BX,[PUTPT] | ||
| 149 | MOV [BX],AL | ||
| 150 | INC BX | ||
| 151 | MOV [PUTPT],BX | ||
| 152 | CMP BX,PUTBUF+80H | ||
| 153 | JNZ POPRET | ||
| 154 | MOV DX,PUTBUF | ||
| 155 | MOV [PUTPT],DX | ||
| 156 | MOV CL,SETDMA | ||
| 157 | CALL SYSTEM | ||
| 158 | MOV DX,PUTFCB | ||
| 159 | MOV CL,WRITE | ||
| 160 | CALL SYSTEM | ||
| 161 | OR AL,AL | ||
| 162 | MOV DX,WRTERR | ||
| 163 | JNZ ABORT | ||
| 164 | POPRET: | ||
| 165 | POP AX | ||
| 166 | XCHG AH,AL | ||
| 167 | SAHF | ||
| 168 | NOTAF: | ||
| 169 | POP CX | ||
| 170 | POP DX | ||
| 171 | POP BX | ||
| 172 | RET | ||
| 173 | ; | ||
| 174 | ; Get character from source file. | ||
| 175 | ; | ||
| 176 | GETCH: | ||
| 177 | PUSH BX | ||
| 178 | PUSH DX | ||
| 179 | PUSH CX | ||
| 180 | MOV BX,[GETPT] ; Get buffer pointer. | ||
| 181 | CMP BX,GETBUF+80H ; Past end-of-buffer? | ||
| 182 | JNZ GETIT ; Jump if not. | ||
| 183 | MOV DX,GETBUF ; Set `DMA address'. | ||
| 184 | MOV CL,SETDMA | ||
| 185 | CALL SYSTEM | ||
| 186 | MOV DX,FCB ; Read the next record from source file. | ||
| 187 | MOV CL,READ | ||
| 188 | CALL SYSTEM | ||
| 189 | CMP AL,0 ; Entire record read OK? | ||
| 190 | JE OKRECORD | ||
| 191 | CMP AL,3 ; Partial record read? | ||
| 192 | JE OKRECORD | ||
| 193 | MOV AL,EOF ; Force end-of-file character in case | ||
| 194 | JP TESEND ; there is nothing in the record. | ||
| 195 | OKRECORD: | ||
| 196 | MOV BX,GETBUF ; Reset buffer pointer. | ||
| 197 | GETIT: | ||
| 198 | MOV AL,[BX] ; Get next character from buffer. | ||
| 199 | INC BX ; Point to next character. | ||
| 200 | MOV [GETPT],BX ; Save new pointer. | ||
| 201 | TESEND: | ||
| 202 | MOV [CHAR],AL | ||
| 203 | JP NOTAF ; Pop registers and return. | ||
| 204 | LOAD: | ||
| 205 | CALL DELIM | ||
| 206 | JZ LOADOP | ||
| 207 | EATLAB: | ||
| 208 | CALL PUTCH | ||
| 209 | CALL DELIM | ||
| 210 | JNZ EATLAB | ||
| 211 | ENLAB: | ||
| 212 | MOV AL,':' | ||
| 213 | CALL PUTCH | ||
| 214 | LOADOP: | ||
| 215 | MOV BX,OPCODE | ||
| 216 | EATEM: | ||
| 217 | CALL DELIM | ||
| 218 | JZ EATEM | ||
| 219 | LOADLP: | ||
| 220 | CALL IDCHK | ||
| 221 | JNC $+5 | ||
| 222 | JMP OPERR | ||
| 223 | MOV [BX],AL | ||
| 224 | INC BX | ||
| 225 | CALL DELIM | ||
| 226 | JNZ LOADLP | ||
| 227 | MOV B,[BX],0 | ||
| 228 | CMP AL,':' | ||
| 229 | JNZ RET | ||
| 230 | MOV BX,OPCODE | ||
| 231 | CALL TRANS | ||
| 232 | JP ENLAB | ||
| 233 | GETOP: | ||
| 234 | XOR AL,AL | ||
| 235 | LAHF | ||
| 236 | XCHG AX,BP | ||
| 237 | SAHF | ||
| 238 | GETLP: | ||
| 239 | CALL DELIM | ||
| 240 | JZ GETLP | ||
| 241 | OPCHAR: | ||
| 242 | CMP AL,'(' | ||
| 243 | JNZ NOTLEF | ||
| 244 | LAHF | ||
| 245 | XCHG AX,BP | ||
| 246 | SAHF | ||
| 247 | INC AL | ||
| 248 | LAHF | ||
| 249 | XCHG AX,BP | ||
| 250 | SAHF | ||
| 251 | MOV B,[BX],'[' | ||
| 252 | JP NEXCH | ||
| 253 | NOTLEF: | ||
| 254 | CMP AL,')' | ||
| 255 | JNZ NOTRIT | ||
| 256 | LAHF | ||
| 257 | XCHG AX,BP | ||
| 258 | SAHF | ||
| 259 | DEC AL | ||
| 260 | LAHF | ||
| 261 | XCHG AX,BP | ||
| 262 | SAHF | ||
| 263 | MOV B,[BX],']' | ||
| 264 | JP NEXCH | ||
| 265 | NOTRIT: | ||
| 266 | MOV [BX],AL | ||
| 267 | CMP AL,'''' | ||
| 268 | JZ EATQUO | ||
| 269 | CALL IDCHK | ||
| 270 | JNC GETID | ||
| 271 | NEXCH: | ||
| 272 | INC BX | ||
| 273 | CALL GETCH | ||
| 274 | IDRET: | ||
| 275 | CALL DELCHK | ||
| 276 | JNZ OPCHAR | ||
| 277 | CMP AL,' ' | ||
| 278 | JZ OPCHAR | ||
| 279 | RET | ||
| 280 | EATQUO: | ||
| 281 | INC BX | ||
| 282 | CALL GETCH | ||
| 283 | MOV [BX],AL | ||
| 284 | CMP AL,';' | ||
| 285 | JZ L0000 | ||
| 286 | CALL DELCHK | ||
| 287 | L0000: | ||
| 288 | CMP AL,'''' | ||
| 289 | JNZ EATQUO | ||
| 290 | JP NEXCH | ||
| 291 | IDCHK: | ||
| 292 | CMP AL,'0' | ||
| 293 | JC RET | ||
| 294 | CMP AL,'9'+1 | ||
| 295 | CMC | ||
| 296 | JNC RET | ||
| 297 | CMP AL,40H | ||
| 298 | JC RET | ||
| 299 | AND AL,5FH | ||
| 300 | CMP AL,'A' | ||
| 301 | JC RET | ||
| 302 | CMP AL,'Z'+1 | ||
| 303 | CMC | ||
| 304 | RET | ||
| 305 | GETID: | ||
| 306 | MOV [BX],AL | ||
| 307 | MOV CH,1 | ||
| 308 | LODID: | ||
| 309 | INC BX | ||
| 310 | CALL GETCH | ||
| 311 | CALL IDCHK | ||
| 312 | JC RWCHK | ||
| 313 | MOV [BX],AL | ||
| 314 | INC CH | ||
| 315 | JP LODID | ||
| 316 | RWCHK: | ||
| 317 | LAHF | ||
| 318 | XCHG AH,AL | ||
| 319 | PUSH AX | ||
| 320 | XCHG AH,AL | ||
| 321 | PUSH BX | ||
| 322 | DEC BX | ||
| 323 | DEC CH | ||
| 324 | MOV DL,CH | ||
| 325 | JZ LOOKRW | ||
| 326 | MOV DL,[BX] | ||
| 327 | DEC BX | ||
| 328 | DEC CH | ||
| 329 | JNZ NORW | ||
| 330 | LOOKRW: | ||
| 331 | MOV AL,[BX] | ||
| 332 | MOV DH,AL | ||
| 333 | PUSH BX | ||
| 334 | MOV BX,RWTAB | ||
| 335 | MOV CX,LENRW | ||
| 336 | RWLK: | ||
| 337 | UP | ||
| 338 | MOV DI,BX | ||
| 339 | REPNZ | ||
| 340 | SCAB | ||
| 341 | MOV BX,DI | ||
| 342 | JNZ NOTRW | ||
| 343 | PUSH BX | ||
| 344 | PUSH CX | ||
| 345 | MOV CX,LENRW-1 | ||
| 346 | LAHF | ||
| 347 | ADD BX,CX | ||
| 348 | RCR SI | ||
| 349 | SAHF | ||
| 350 | RCL SI | ||
| 351 | MOV AL,[BX] | ||
| 352 | POP CX | ||
| 353 | POP BX | ||
| 354 | CMP AL,DL | ||
| 355 | JZ HAVRW | ||
| 356 | MOV AL,CL | ||
| 357 | OR AL,AL | ||
| 358 | MOV AL,DH | ||
| 359 | JNZ RWLK | ||
| 360 | NOTRW: | ||
| 361 | POP BX | ||
| 362 | NORW: | ||
| 363 | POP BX | ||
| 364 | ENDRW: | ||
| 365 | POP AX | ||
| 366 | XCHG AH,AL | ||
| 367 | SAHF | ||
| 368 | JMP IDRET | ||
| 369 | HAVRW: | ||
| 370 | POP BX | ||
| 371 | INC CL | ||
| 372 | MOV [BX],CL | ||
| 373 | INC BX | ||
| 374 | POP DX | ||
| 375 | PUSH BX | ||
| 376 | MOV AL,CL | ||
| 377 | MOV BX,IXSI | ||
| 378 | CMP AL,RSI | ||
| 379 | JZ IXIY | ||
| 380 | MOV BX,IYDI | ||
| 381 | CMP AL,RDI | ||
| 382 | JNZ NORW | ||
| 383 | IXIY: | ||
| 384 | LAHF | ||
| 385 | XCHG AX,BP | ||
| 386 | SAHF | ||
| 387 | JZ NOTENC | ||
| 388 | LAHF | ||
| 389 | XCHG AX,BP | ||
| 390 | SAHF | ||
| 391 | CALL OUTSTR | ||
| 392 | JP NORW | ||
| 393 | NOTENC: | ||
| 394 | LAHF | ||
| 395 | XCHG AX,BP | ||
| 396 | SAHF | ||
| 397 | POP BX | ||
| 398 | DEC BX | ||
| 399 | MOV B,[BX],'[' | ||
| 400 | INC BX | ||
| 401 | ADD AL,RIX-1 | ||
| 402 | MOV [BX],AL | ||
| 403 | INC BX | ||
| 404 | MOV B,[BX],']' | ||
| 405 | INC BX | ||
| 406 | JP ENDRW | ||
| 407 | RET | ||
| 408 | FINDOP: | ||
| 409 | MOV BX,OPCODE | ||
| 410 | MOV CX,5 | ||
| 411 | XOR AL,AL | ||
| 412 | UP | ||
| 413 | MOV DI,BX | ||
| 414 | REPNZ | ||
| 415 | SCAB | ||
| 416 | MOV BX,DI | ||
| 417 | JNZ OPERR | ||
| 418 | MOV AL,4 | ||
| 419 | SUB AL,CL | ||
| 420 | JZ RET | ||
| 421 | DEC AL | ||
| 422 | JZ OPERR | ||
| 423 | MOV CL,AL | ||
| 424 | DEC BX | ||
| 425 | DEC BX | ||
| 426 | OR B,[BX],080H | ||
| 427 | MOV AL,[OPCODE] | ||
| 428 | SUB AL,'A' | ||
| 429 | JC OPERR | ||
| 430 | ADD AL,AL | ||
| 431 | MOV DL,AL | ||
| 432 | MOV DH,0 | ||
| 433 | MOV BX,OPTAB | ||
| 434 | LAHF | ||
| 435 | ADD BX,DX | ||
| 436 | RCR SI | ||
| 437 | SAHF | ||
| 438 | RCL SI | ||
| 439 | MOV DL,[BX] | ||
| 440 | INC BX | ||
| 441 | MOV DH,[BX] | ||
| 442 | XCHG DX,BX | ||
| 443 | MOV AL,9 | ||
| 444 | CALL PUTCH | ||
| 445 | LOOKOP: | ||
| 446 | MOV AL,[BX] | ||
| 447 | OR AL,AL | ||
| 448 | JZ OPERR | ||
| 449 | MOV DX,OPCODE+1 | ||
| 450 | MOV CH,CL | ||
| 451 | LOOKLP: | ||
| 452 | MOV SI,DX | ||
| 453 | LODB | ||
| 454 | CMP AL,[BX] | ||
| 455 | JNZ NEXOP | ||
| 456 | INC DX | ||
| 457 | INC BX | ||
| 458 | DEC CH | ||
| 459 | JNZ LOOKLP | ||
| 460 | MOV DX,[BX] | ||
| 461 | MOV BX,[BX+2] | ||
| 462 | JMP DX | ||
| 463 | NEXOP: | ||
| 464 | RCR SI | ||
| 465 | TEST B,[BX],080H | ||
| 466 | RCL SI | ||
| 467 | LAHF | ||
| 468 | INC BX | ||
| 469 | SAHF | ||
| 470 | JZ NEXOP | ||
| 471 | MOV DX,4 | ||
| 472 | LAHF | ||
| 473 | ADD BX,DX | ||
| 474 | RCR SI | ||
| 475 | SAHF | ||
| 476 | RCL SI | ||
| 477 | JP LOOKOP | ||
| 478 | OPERR: | ||
| 479 | MOV BX,OPCODE | ||
| 480 | CALL OUTSTR | ||
| 481 | CALL TWOOPS | ||
| 482 | MOV BX,OPCDER | ||
| 483 | CALL OUTSTR | ||
| 484 | JMP ENLIN | ||
| 485 | LD: | ||
| 486 | CALL OUTSTR | ||
| 487 | MOV BX,OP1 | ||
| 488 | MOV DX,OP2+1 | ||
| 489 | CALL LCHECK | ||
| 490 | JNZ $+5 | ||
| 491 | JMP LDAX | ||
| 492 | XCHG DX,BX | ||
| 493 | DEC BX | ||
| 494 | INC DX | ||
| 495 | CALL LCHECK | ||
| 496 | JNZ $+5 | ||
| 497 | JMP STAX | ||
| 498 | ;If immediate move, check for byte memory reference | ||
| 499 | MOV AL,[OP2] | ||
| 500 | CMP AL,20H ;Could be immediate? | ||
| 501 | MOV AL,9 | ||
| 502 | JC L0001 | ||
| 503 | CALL BYTCHK ;Add "B," if memory reference | ||
| 504 | L0001: | ||
| 505 | CALL TRAN1 | ||
| 506 | JP TRNOP2 | ||
| 507 | TWOOPS: | ||
| 508 | CALL TRNOP1 | ||
| 509 | TRNOP2: | ||
| 510 | MOV AL,',' | ||
| 511 | TRAN2: | ||
| 512 | MOV BX,OP2 | ||
| 513 | PTRANS: | ||
| 514 | CALL PUTCH | ||
| 515 | TRANS: | ||
| 516 | MOV AL,[BX] | ||
| 517 | LAHF | ||
| 518 | INC BX | ||
| 519 | SAHF | ||
| 520 | OR AL,AL | ||
| 521 | JZ RET | ||
| 522 | CALL TRNTOK | ||
| 523 | JP TRANS | ||
| 524 | LCHECK: | ||
| 525 | MOV AL,[BX] | ||
| 526 | CMP AL,RAL | ||
| 527 | JNZ RET | ||
| 528 | MOV SI,DX | ||
| 529 | LODB | ||
| 530 | CMP AL,RCX | ||
| 531 | JZ RET | ||
| 532 | CMP AL,RDX | ||
| 533 | RET | ||
| 534 | |||
| 535 | ONEOP: | ||
| 536 | CALL OUTSTR | ||
| 537 | MOV AL,9 | ||
| 538 | CALL BYTCHK ;If memory reference, add "B," flag | ||
| 539 | JMPS TRAN1 | ||
| 540 | |||
| 541 | TRNOP1: | ||
| 542 | MOV AL,9 | ||
| 543 | TRAN1: | ||
| 544 | MOV BX,OP1 | ||
| 545 | JP PTRANS | ||
| 546 | IN: | ||
| 547 | MOV AL,[OP1] | ||
| 548 | CMP AL,RAL | ||
| 549 | XCHG DX,BX | ||
| 550 | MOV BX,OP2 | ||
| 551 | JZ GETPORT | ||
| 552 | MOV BX,SAVEAX | ||
| 553 | CALL OUTSTR | ||
| 554 | CALL OUTSTR | ||
| 555 | MOV BX,OP2 | ||
| 556 | CALL GETPORT | ||
| 557 | MOV BX,MOV0 | ||
| 558 | CALL ONEOP | ||
| 559 | MOV AL,',' | ||
| 560 | CALL PUTCH | ||
| 561 | MOV AL,RAL | ||
| 562 | CALL TRNTOK | ||
| 563 | IODONE: | ||
| 564 | MOV BX,RESTAX | ||
| 565 | JMP OUTSTR | ||
| 566 | OUT: | ||
| 567 | MOV AL,[OP2] | ||
| 568 | XCHG DX,BX | ||
| 569 | MOV BX,OP1 | ||
| 570 | CMP AL,RAL | ||
| 571 | JZ GETOUT | ||
| 572 | MOV BX,SAVEAX | ||
| 573 | CALL OUTSTR | ||
| 574 | MOV BX,MOVAL | ||
| 575 | CALL OUTSTR | ||
| 576 | CALL TRNOP2 | ||
| 577 | MOV BX,CRLFTB | ||
| 578 | CALL OUTSTR | ||
| 579 | MOV BX,OP1 | ||
| 580 | CALL GETOUT | ||
| 581 | JP IODONE | ||
| 582 | GETPORT: | ||
| 583 | MOV AL,[BX] | ||
| 584 | CMP AL,'[' | ||
| 585 | JNZ NOBRAK | ||
| 586 | LAHF | ||
| 587 | INC BX | ||
| 588 | SAHF | ||
| 589 | PUSH BX | ||
| 590 | MOV CX,80 | ||
| 591 | MOV AL,']' | ||
| 592 | UP | ||
| 593 | MOV DI,BX | ||
| 594 | REPNZ | ||
| 595 | SCAB | ||
| 596 | MOV BX,DI | ||
| 597 | LAHF | ||
| 598 | DEC BX | ||
| 599 | SAHF | ||
| 600 | MOV B,[BX],0 | ||
| 601 | POP BX | ||
| 602 | NOBRAK: | ||
| 603 | MOV AL,[BX] | ||
| 604 | CMP AL,RGCL | ||
| 605 | JNZ FIXPOR | ||
| 606 | MOV BX,IO1 | ||
| 607 | CALL OUTSTR | ||
| 608 | XCHG DX,BX | ||
| 609 | CALL OUTSTR | ||
| 610 | MOV AL,RDX | ||
| 611 | CALL TRNTOK | ||
| 612 | MOV BX,IO2 | ||
| 613 | JMP OUTSTR | ||
| 614 | GETOUT: | ||
| 615 | CALL GETPORT | ||
| 616 | JNC RET | ||
| 617 | MOV BX,BADIO | ||
| 618 | JMP OUTSTR | ||
| 619 | FIXPOR: | ||
| 620 | XCHG DX,BX | ||
| 621 | CALL OUTSTR | ||
| 622 | XCHG DX,BX | ||
| 623 | JMP TRANS | ||
| 624 | LDAX: | ||
| 625 | MOV BX,LDAX1 | ||
| 626 | LSAX: | ||
| 627 | CALL OUTSTR | ||
| 628 | MOV SI,DX | ||
| 629 | LODB | ||
| 630 | CALL TRNTOK | ||
| 631 | JP OUTSTR | ||
| 632 | STAX: | ||
| 633 | MOV BX,STAX1 | ||
| 634 | JP LSAX | ||
| 635 | TRNTOK: | ||
| 636 | CMP AL,' ' | ||
| 637 | JC $+5 | ||
| 638 | JMP PUTCH | ||
| 639 | PUSH BX | ||
| 640 | PUSH CX | ||
| 641 | MOV CL,AL | ||
| 642 | MOV CH,0 | ||
| 643 | MOV BX,TOKTAB-2 | ||
| 644 | LAHF | ||
| 645 | ADD BX,CX | ||
| 646 | RCR SI | ||
| 647 | SAHF | ||
| 648 | RCL SI | ||
| 649 | LAHF | ||
| 650 | ADD BX,CX | ||
| 651 | RCR SI | ||
| 652 | SAHF | ||
| 653 | RCL SI | ||
| 654 | MOV AL,[BX] | ||
| 655 | CALL PUTCH | ||
| 656 | INC BX | ||
| 657 | MOV AL,[BX] | ||
| 658 | POP CX | ||
| 659 | POP BX | ||
| 660 | OR AL,AL | ||
| 661 | JZ RET | ||
| 662 | JMP PUTCH | ||
| 663 | PUSH: | ||
| 664 | MOV DX,PUSHAF | ||
| 665 | JP AFCHK | ||
| 666 | POP: | ||
| 667 | MOV DX,POPAF | ||
| 668 | AFCHK: | ||
| 669 | MOV AL,[OP1] | ||
| 670 | CMP AL,RAX | ||
| 671 | JNZ ONEOPJ | ||
| 672 | XCHG DX,BX | ||
| 673 | OUTSTR: | ||
| 674 | MOV AL,[BX] | ||
| 675 | OR AL,AL | ||
| 676 | JNZ L0002 | ||
| 677 | CALL NEWOP | ||
| 678 | L0002: | ||
| 679 | CALL PUTCH | ||
| 680 | INC BX | ||
| 681 | ADD AL,AL | ||
| 682 | JNC OUTSTR | ||
| 683 | RET | ||
| 684 | NEWOP: | ||
| 685 | MOV AL,13 | ||
| 686 | CALL PUTCH | ||
| 687 | MOV AL,10 | ||
| 688 | CALL PUTCH | ||
| 689 | MOV AL,9 | ||
| 690 | RET | ||
| 691 | LDDR: | ||
| 692 | CALL OUTSTR | ||
| 693 | MOV BX,BLMOVE | ||
| 694 | JP OUTSTR | ||
| 695 | CPDR: | ||
| 696 | CALL OUTSTR | ||
| 697 | MOV BX,CMPREP | ||
| 698 | JP OUTSTR | ||
| 699 | ADD: | ||
| 700 | MOV AL,[OP1] | ||
| 701 | CMP AL,RBX | ||
| 702 | JZ DAD | ||
| 703 | ARITH: | ||
| 704 | CALL OUTSTR | ||
| 705 | MOV AL,[OP2] | ||
| 706 | OR AL,AL | ||
| 707 | JZ $+5 | ||
| 708 | JMP TWOOPS | ||
| 709 | MOV AL,9 | ||
| 710 | CALL PUTCH | ||
| 711 | MOV AL,RAL | ||
| 712 | CALL TRNTOK | ||
| 713 | MOV AL,',' | ||
| 714 | JMP TRAN1 | ||
| 715 | ACCUM: | ||
| 716 | CALL OUTSTR | ||
| 717 | MOV AL,9 | ||
| 718 | CALL PUTCH | ||
| 719 | MOV AL,RAL | ||
| 720 | JMP TRNTOK | ||
| 721 | ONEOPJ: JMP ONEOP | ||
| 722 | DAD: | ||
| 723 | MOV BX,DAD1 | ||
| 724 | CALL OUTSTR | ||
| 725 | CALL TWOOPS | ||
| 726 | MOV BX,DAD2 | ||
| 727 | JP OUTSTR | ||
| 728 | |||
| 729 | INCDEC: | ||
| 730 | MOV AL,[OP1] | ||
| 731 | CMP AL,RCX+1 ;16-bit? | ||
| 732 | JNC ONEOPJ | ||
| 733 | MOV BX,LAHF | ||
| 734 | CALL OUTSTR | ||
| 735 | XCHG DX,BX | ||
| 736 | MOV BX,OPCODE-1 | ||
| 737 | CALL ONEOP | ||
| 738 | XCHG DX,BX | ||
| 739 | OUTSTRJ: | ||
| 740 | JMP OUTSTR | ||
| 741 | JUMP: | ||
| 742 | MOV AL,[OP1] | ||
| 743 | CMP AL,'[' | ||
| 744 | JNZ DIRECT | ||
| 745 | MOV AL,[OP1+1] | ||
| 746 | MOV [OP1],AL | ||
| 747 | XOR AL,AL | ||
| 748 | MOV [OP1+1],AL | ||
| 749 | DIRECT: | ||
| 750 | MOV AL,[OP2] | ||
| 751 | OR AL,AL | ||
| 752 | JZ ONEOPJ | ||
| 753 | CALL FIXCON | ||
| 754 | MOV BX,OP2 | ||
| 755 | OUTCON: | ||
| 756 | MOV CH,AL | ||
| 757 | MOV AL,'J' | ||
| 758 | CALL PUTCH | ||
| 759 | MOV AL,CH | ||
| 760 | CALL TRNTOK | ||
| 761 | MOV AL,9 | ||
| 762 | CALL PTRANS | ||
| 763 | MOV AL,CH | ||
| 764 | CMP AL,ODDPAR | ||
| 765 | MOV BX,WARNPA | ||
| 766 | JZ OUTSTRJ | ||
| 767 | CMP AL,EVEPAR | ||
| 768 | JZ OUTSTRJ | ||
| 769 | RET | ||
| 770 | FIXCON: | ||
| 771 | MOV AL,[OP1] | ||
| 772 | CMP AL,RGCL | ||
| 773 | JNZ RET | ||
| 774 | MOV AL,CY | ||
| 775 | RET | ||
| 776 | RETURN: | ||
| 777 | MOV AL,[OP1] | ||
| 778 | OR AL,AL | ||
| 779 | JZ OUTSTRJ | ||
| 780 | MOV BX,'R'+4500H ;"RE" | ||
| 781 | MOV [OP2],BX | ||
| 782 | MOV BX,'T' | ||
| 783 | MOV [OP2+2],BX | ||
| 784 | JP DIRECT | ||
| 785 | ONEOPJ1: | ||
| 786 | JMP ONEOP | ||
| 787 | DOCALL: | ||
| 788 | MOV AL,[OP2] | ||
| 789 | OR AL,AL | ||
| 790 | JZ ONEOPJ1 | ||
| 791 | CALL FIXCON | ||
| 792 | DEC AL | ||
| 793 | XOR AL,1 | ||
| 794 | INC AL | ||
| 795 | MOV BX,LABEL | ||
| 796 | CALL OUTCON | ||
| 797 | MOV BX,OPCODE-1 | ||
| 798 | CALL OUTSTR | ||
| 799 | MOV AL,[OP2] | ||
| 800 | OR AL,AL | ||
| 801 | MOV AL,9 | ||
| 802 | MOV BX,OP2 | ||
| 803 | JZ L0003 | ||
| 804 | CALL PTRANS | ||
| 805 | L0003: | ||
| 806 | MOV BX,CRLF | ||
| 807 | CALL OUTSTR | ||
| 808 | CALL TRANS | ||
| 809 | CALL OUTSTR | ||
| 810 | MOV BX,LABEL+4 | ||
| 811 | NEXLAB: | ||
| 812 | INC [BX] | ||
| 813 | MOV AL,[BX] | ||
| 814 | CMP AL,'9'+1 | ||
| 815 | JNZ RET | ||
| 816 | MOV B,[BX],'0' | ||
| 817 | LAHF | ||
| 818 | DEC BX | ||
| 819 | SAHF | ||
| 820 | JP NEXLAB | ||
| 821 | EX: | ||
| 822 | MOV AL,[OP1] | ||
| 823 | CMP AL,RAX | ||
| 824 | JZ OUTSTRJ1 | ||
| 825 | MOV AL,[OP1+1] | ||
| 826 | CMP AL,STP | ||
| 827 | JZ XTHL | ||
| 828 | MOV BX,XCHG | ||
| 829 | CALL OUTSTR | ||
| 830 | JMP TWOOPS | ||
| 831 | XTHL: | ||
| 832 | MOV BX,XTHL1 | ||
| 833 | CALL OUTSTR | ||
| 834 | CALL TRNOP2 | ||
| 835 | MOV BX,XTHL2 | ||
| 836 | OUTSTRJ1: | ||
| 837 | JMP OUTSTR | ||
| 838 | PSEUDO: | ||
| 839 | CALL ONEOP | ||
| 840 | MOV AL,[OP2] | ||
| 841 | OR AL,AL | ||
| 842 | JZ RET | ||
| 843 | JMP TRNOP2 | ||
| 844 | RET | ||
| 845 | BITSET: | ||
| 846 | MOV CL,0 | ||
| 847 | JP SETRES | ||
| 848 | RES: | ||
| 849 | MOV CL,-1 | ||
| 850 | SETRES: | ||
| 851 | CALL OUTSTR | ||
| 852 | PUSH BX | ||
| 853 | MOV AL,[OP2] | ||
| 854 | CMP AL,'[' | ||
| 855 | MOV AL,9 | ||
| 856 | JNZ L0004 | ||
| 857 | CALL BFLAG | ||
| 858 | L0004: | ||
| 859 | CALL TRAN2 | ||
| 860 | MOV AL,',' | ||
| 861 | CALL PUTCH | ||
| 862 | CALL GETBIT | ||
| 863 | MOV BX,BITERR | ||
| 864 | JNC L0005 | ||
| 865 | CALL OUTSTR | ||
| 866 | L0005: | ||
| 867 | POP BX | ||
| 868 | JMP OUTSTR | ||
| 869 | |||
| 870 | BYTCHK: | ||
| 871 | ;Check if memory reference and add "B," for byte mode | ||
| 872 | CMP B,[OP1],"[" ;Memory reference? | ||
| 873 | JNZ RET | ||
| 874 | CMP B,[OP1+1],RIX ;Referencing IX as a word? | ||
| 875 | JZ RET | ||
| 876 | CMP B,[OP1+1],RIY | ||
| 877 | JZ RET | ||
| 878 | BFLAG: | ||
| 879 | CALL PUTCH | ||
| 880 | MOV AL,'B' | ||
| 881 | CALL PUTCH | ||
| 882 | MOV AL,',' | ||
| 883 | RET | ||
| 884 | |||
| 885 | GETBIT: | ||
| 886 | MOV AL,[OP1+1] | ||
| 887 | OR AL,AL | ||
| 888 | STC | ||
| 889 | JNZ RET | ||
| 890 | MOV AL,[OP1] | ||
| 891 | SUB AL,'0' | ||
| 892 | JC RET | ||
| 893 | CMP AL,8 | ||
| 894 | CMC | ||
| 895 | JC RET | ||
| 896 | MOV CH,AL | ||
| 897 | INC CH | ||
| 898 | XOR AL,AL | ||
| 899 | STC | ||
| 900 | SHFT: | ||
| 901 | RCL AL | ||
| 902 | DEC CH | ||
| 903 | JNZ SHFT | ||
| 904 | XOR AL,CL | ||
| 905 | MOV CH,AL | ||
| 906 | MOV AL,'0' | ||
| 907 | CALL PUTCH | ||
| 908 | MOV AL,CH | ||
| 909 | RCR AL | ||
| 910 | RCR AL | ||
| 911 | RCR AL | ||
| 912 | RCR AL | ||
| 913 | CALL HEX | ||
| 914 | MOV AL,CH | ||
| 915 | CALL HEX | ||
| 916 | MOV AL,'H' | ||
| 917 | JMP PUTCH | ||
| 918 | OPTAB: | ||
| 919 | DW AOPS,BOPS,COPS,DOPS,EOPS | ||
| 920 | DW FOPS,GOPS,HOPS,IOPS,JOPS | ||
| 921 | DW KOPS,LOPS,MOPS,NOPS,OOPS | ||
| 922 | DW POPS,QOPS,ROPS,SOPS,TOPS | ||
| 923 | DW UOPS,VOPS,WOPS,XOPS,YOPS | ||
| 924 | DW ZOPS | ||
| 925 | AOPS: | ||
| 926 | DM 'DD' | ||
| 927 | DW ADD,OPCODE | ||
| 928 | DM 'DC' | ||
| 929 | DW ARITH,OPCODE | ||
| 930 | DM 'ND' | ||
| 931 | DW ARITH,OPCODE | ||
| 932 | DB 0 | ||
| 933 | BOPS: | ||
| 934 | DM 'IT' | ||
| 935 | DW BITSET,TESBIT | ||
| 936 | DB 0 | ||
| 937 | COPS: | ||
| 938 | DM 'ALL' | ||
| 939 | DW DOCALL,OPCODE | ||
| 940 | DM 'P' | ||
| 941 | DW ARITH,CMP | ||
| 942 | DM 'PL' | ||
| 943 | DW ACCUM,NOT | ||
| 944 | DM 'PIR' | ||
| 945 | DW OUTSTR,CPIR | ||
| 946 | DM 'PDR' | ||
| 947 | DW CPDR,DOWN | ||
| 948 | DM 'CF' | ||
| 949 | DW OUTSTR,CMC | ||
| 950 | DB 0 | ||
| 951 | DOPS: | ||
| 952 | DM 'EC' | ||
| 953 | DW INCDEC,OPCODE | ||
| 954 | DM 'JNZ' | ||
| 955 | DW ONEOP,DJNZ | ||
| 956 | DM 'AA' | ||
| 957 | DW OUTSTR,OPCODE | ||
| 958 | DM 'I' | ||
| 959 | DW OUTSTR,OPCODE | ||
| 960 | DM 'W' | ||
| 961 | DW PSEUDO,OPCODE | ||
| 962 | DM 'B' | ||
| 963 | DW PSEUDO,OPCODE | ||
| 964 | DM 'M' | ||
| 965 | DW PSEUDO,OPCODE | ||
| 966 | DM 'S' | ||
| 967 | DW ONEOP,OPCODE | ||
| 968 | DB 0 | ||
| 969 | EOPS: | ||
| 970 | DM 'X' | ||
| 971 | DW EX,EXAF | ||
| 972 | DM 'I' | ||
| 973 | DW OUTSTR,OPCODE | ||
| 974 | DM 'XX' | ||
| 975 | DW OUTSTR,EXX | ||
| 976 | DM 'QU' | ||
| 977 | DW ONEOP,OPCODE | ||
| 978 | DM 'NDIF' | ||
| 979 | DW OUTSTR,OPCODE | ||
| 980 | DB 0 | ||
| 981 | FOPS: | ||
| 982 | DB 0 | ||
| 983 | GOPS: | ||
| 984 | DB 0 | ||
| 985 | HOPS: | ||
| 986 | DM 'ALT' | ||
| 987 | DW OUTSTR,HLT | ||
| 988 | DB 0 | ||
| 989 | IOPS: | ||
| 990 | DM 'NC' | ||
| 991 | DW INCDEC,OPCODE | ||
| 992 | DM 'N' | ||
| 993 | DW IN,INB | ||
| 994 | DM 'F' | ||
| 995 | DW ONEOP,OPCODE | ||
| 996 | DB 0 | ||
| 997 | JOPS: | ||
| 998 | DM 'R' | ||
| 999 | DW JUMP,JR | ||
| 1000 | DM 'P' | ||
| 1001 | DW JUMP,JMP | ||
| 1002 | DB 0 | ||
| 1003 | KOPS: | ||
| 1004 | DB 0 | ||
| 1005 | LOPS: | ||
| 1006 | DM 'D' | ||
| 1007 | DW LD,MOV | ||
| 1008 | DM 'DIR' | ||
| 1009 | DW OUTSTR,UP | ||
| 1010 | DM 'DDR' | ||
| 1011 | DW LDDR,DOWN | ||
| 1012 | DB 0 | ||
| 1013 | MOPS: | ||
| 1014 | DB 0 | ||
| 1015 | NOPS: | ||
| 1016 | DM 'EG' | ||
| 1017 | DW ACCUM,OPCODE | ||
| 1018 | DB 0 | ||
| 1019 | OOPS: | ||
| 1020 | DM 'R' | ||
| 1021 | DW ARITH,OPCODE | ||
| 1022 | DM 'UT' | ||
| 1023 | DW OUT,OUTB | ||
| 1024 | DM 'RG' | ||
| 1025 | DW ONEOP,OPCODE | ||
| 1026 | DB 0 | ||
| 1027 | POPS: | ||
| 1028 | DM 'OP' | ||
| 1029 | DW POP,OPCODE | ||
| 1030 | DM 'USH' | ||
| 1031 | DW PUSH,OPCODE | ||
| 1032 | DB 0 | ||
| 1033 | QOPS: | ||
| 1034 | DB 0 | ||
| 1035 | ROPS: | ||
| 1036 | DM 'ET' | ||
| 1037 | DW RETURN,OPCODE | ||
| 1038 | DM 'LA' | ||
| 1039 | DW ACCUM,RCL | ||
| 1040 | DM 'RA' | ||
| 1041 | DW ACCUM,RCR | ||
| 1042 | DM 'LCA' | ||
| 1043 | DW ACCUM,ROL | ||
| 1044 | DM 'RCA' | ||
| 1045 | DW ACCUM,ROR | ||
| 1046 | DM 'L' | ||
| 1047 | DW ONEOP,RCL | ||
| 1048 | DM 'R' | ||
| 1049 | DW ONEOP,RCR | ||
| 1050 | DM 'LC' | ||
| 1051 | DW ONEOP,ROL | ||
| 1052 | DM 'RC' | ||
| 1053 | DW ONEOP,ROR | ||
| 1054 | DM 'ES' | ||
| 1055 | DW RES,RESBIT | ||
| 1056 | DM 'ETI' | ||
| 1057 | DW OUTSTR,IRET | ||
| 1058 | DM 'ETN' | ||
| 1059 | DW OUTSTR,IRET | ||
| 1060 | DM 'ST' | ||
| 1061 | DW ONEOP,CALL | ||
| 1062 | DB 0 | ||
| 1063 | SOPS: | ||
| 1064 | DM 'UB' | ||
| 1065 | DW ARITH,OPCODE | ||
| 1066 | DM 'BC' | ||
| 1067 | DW ARITH,SBB | ||
| 1068 | DM 'LA' | ||
| 1069 | DW ONEOP,SAL | ||
| 1070 | DM 'RA' | ||
| 1071 | DW ONEOP,SAR | ||
| 1072 | DM 'RL' | ||
| 1073 | DW ONEOP,SHR | ||
| 1074 | DM 'CF' | ||
| 1075 | DW OUTSTR,STC | ||
| 1076 | DM 'ET' | ||
| 1077 | DW BITSET,SETBIT | ||
| 1078 | DB 0 | ||
| 1079 | TOPS: | ||
| 1080 | DB 0 | ||
| 1081 | UOPS: | ||
| 1082 | DB 0 | ||
| 1083 | VOPS: | ||
| 1084 | DB 0 | ||
| 1085 | WOPS: | ||
| 1086 | DB 0 | ||
| 1087 | XOPS: | ||
| 1088 | DM 'OR' | ||
| 1089 | DW ARITH,OPCODE | ||
| 1090 | DB 0 | ||
| 1091 | YOPS: | ||
| 1092 | DB 0 | ||
| 1093 | ZOPS: | ||
| 1094 | DB 0 | ||
| 1095 | LDAX1: DM 9,'SI,' | ||
| 1096 | DM 0,'LODB' | ||
| 1097 | STAX1: DM 9,'DI,' | ||
| 1098 | DM 0,'STOB' | ||
| 1099 | PUSHAF: DB 'LAHF',0,'XCHG',9,'AH,AL',0,'PUSH',9,'AX',0 | ||
| 1100 | DM 'XCHG',9,'AH,AL' | ||
| 1101 | POPAF: DM 'POP',9,'AX',0,'XCHG',9,'AH,AL',0,'SAHF' | ||
| 1102 | DOWN: DM 'DOWN' | ||
| 1103 | UP: DB 'UP' | ||
| 1104 | BLMOVE: DB 0,'MOV',9,'SI,BX',0,'MOV',9,'DI,DX' | ||
| 1105 | DB 0,'REP',0,'MOVB',0,'MOV',9,'DX,DI' | ||
| 1106 | DM 0,'MOV',9,'BX,SI' | ||
| 1107 | CPIR: DB 'UP' | ||
| 1108 | CMPREP: DB 0,'MOV',9,'DI,BX',0,'REPNZ',0,'SCAB' | ||
| 1109 | DM 0,'MOV',9,'BX,DI' | ||
| 1110 | DAD1: DM 'LAHF',0,'ADD' | ||
| 1111 | DAD2: DM 0,'RCR',9,'SI',0,'SAHF',0,'RCL',9,'SI' | ||
| 1112 | LAHF: DM 'LAHF' | ||
| 1113 | DM 0,'SAHF' | ||
| 1114 | DJNZ: DB 'DEC',9,'CH',13,10 | ||
| 1115 | DB '; *** WARNING: DJNZ does not affect flags - DEC does.',0 | ||
| 1116 | DM 'JNZ' | ||
| 1117 | WARNPA: DM 13,10,'; *** WARNING: Parity flag not always same as Z80.' | ||
| 1118 | IO1: DB 'MOV',9,'DI,DX',0,'MOV',9,'DL,CL',0 | ||
| 1119 | DM 'XOR',9,'DH,DH',13,10,9 | ||
| 1120 | IO2: DM 0,'MOV',9,'DX,DI' | ||
| 1121 | BADIO: DM 13,10,'; *** WARNING: Flags not same as Z80.' | ||
| 1122 | BITERR: DM 13,10,' *** ERROR: Cannot determine bit number.' | ||
| 1123 | SETBIT: DM 'LAHF',0,'OR' | ||
| 1124 | DM 0,'SAHF' | ||
| 1125 | RESBIT: DM 'LAHF',0,'AND' | ||
| 1126 | DM 0,'SAHF' | ||
| 1127 | TESBIT: DM 'RCR',9,'AH',0,'TEST' | ||
| 1128 | DM 0,'RCL',9,'AH' | ||
| 1129 | XTHL1: DM 'POP',9,'SI',0,'XCHG',9,'SI' | ||
| 1130 | XTHL2: DM 0,'PUSH',9,'SI' | ||
| 1131 | EXX: DB 'XCHG',9,'BX,[HL]',0,'XCHG',9,'DX,[DE]',0 | ||
| 1132 | DM 'XCHG',9,'CX,[BC]' | ||
| 1133 | EXAF: DM 'LAHF',0,'XCHG',9,'AX,BP',0,'SAHF' | ||
| 1134 | MOVAL: DM 0,'MOV',9,'AL' | ||
| 1135 | IXSI: DM 9,'MOV',9,'SI,[IX]',13,10 | ||
| 1136 | IYDI: DM 9,'MOV',9,'DI,[IY]',13,10 | ||
| 1137 | RESTAX: DB 0 | ||
| 1138 | SAVEAX: DM 'XCHG',9,'AX,SI' | ||
| 1139 | CRLFTB: DM 13,10,9 | ||
| 1140 | INB: DM 'INB',9 | ||
| 1141 | OUTB: DM 'OUTB',9 | ||
| 1142 | XCHG: DM 'XCHG' | ||
| 1143 | JMP: DM 'JMP' | ||
| 1144 | JR: DM 'JMPS' | ||
| 1145 | RCL: DM 'RCL' | ||
| 1146 | RCR: DM 'RCR' | ||
| 1147 | ROL: DM 'ROL' | ||
| 1148 | ROR: DM 'ROR' | ||
| 1149 | SAL: DM 'SAL' | ||
| 1150 | SAR: DM 'SAR' | ||
| 1151 | SHR: DM 'SHR' | ||
| 1152 | STC: DM 'STC' | ||
| 1153 | IRET: DM 'IRET' | ||
| 1154 | HLT: DM 'HLT' | ||
| 1155 | CMC: DM 'CMC' | ||
| 1156 | NOT: DM 'NOT' | ||
| 1157 | MOV0: DB 0 | ||
| 1158 | MOV: DM 'MOV' | ||
| 1159 | CMP: DM 'CMP' | ||
| 1160 | SBB: DM 'SBB' | ||
| 1161 | CALL: DM 'CALL' | ||
| 1162 | TOKTAB: | ||
| 1163 | DB 'SIDI' | ||
| 1164 | DB 'PEPOS',0,'NSNZZ',0,'NCC',0 | ||
| 1165 | DB 'AXSPBXDXCX' | ||
| 1166 | DB 'BLBHDLDHCLCHALIXIY' | ||
| 1167 | RWTAB: | ||
| 1168 | DB 'ABCDEHLBDHSACNZNPMPPII' | ||
| 1169 | LENRW: EQU $-RWTAB | ||
| 1170 | DB 0,0,0,0,0,0,0,'CELPF',0,'C',0,'Z',0,0,'OEYX' | ||
| 1171 | HEADER: DB 13,10,'Z80 to 8086 Translator version 2.21',13,10,'$' | ||
| 1172 | NOROOM: DB 13,10,'File creation error',13,10,'$' | ||
| 1173 | NOFILE: DB 13,10,'File not found',13,10,'$' | ||
| 1174 | ENDMES: DB 13,10,'Translation complete',13,10,'$' | ||
| 1175 | WRTERR: DB 13,10,'Out of disk space',13,10,'$' | ||
| 1176 | OPCDER: DM 13,10,'*** Opcode Error ' | ||
| 1177 | CRLF: DM 13,10 | ||
| 1178 | LABEL: DB 'L0000',0 | ||
| 1179 | DM ':',9 | ||
| 1180 | PUTPT: DS 2 | ||
| 1181 | GETPT: DS 2 | ||
| 1182 | CHAR: DS 1 | ||
| 1183 | DB 0 | ||
| 1184 | OPCODE: DS 80 | ||
| 1185 | OP1: DS 80 | ||
| 1186 | OP2: DS 80 | ||
| 1187 | PUTBUF: DS 128 | ||
| 1188 | GETBUF: DS 128 | ||
| 1189 | PUTFCB: DS 33 | ||
| 1190 | DS 50 | ||
| 1191 | STACK: EQU $ | ||
| 1192 | ORG 1 ;This is really just for equates without EQU | ||
| 1193 | RSI: DS 1 | ||
| 1194 | RDI: DS 1 | ||
| 1195 | ODDPAR: DS 1 | ||
| 1196 | EVEPAR: DS 1 | ||
| 1197 | DS 5 ;MINUS,PLUS,NOT ZERO,ZERO,NOT CARRY | ||
| 1198 | CY: DS 1 | ||
| 1199 | RAX: DS 1 | ||
| 1200 | STP: DS 1 | ||
| 1201 | RBX: DS 1 | ||
| 1202 | RDX: DS 1 | ||
| 1203 | RCX: DS 1 | ||
| 1204 | RBL: DS 1 | ||
| 1205 | RBH: DS 1 | ||
| 1206 | RDL: DS 1 | ||
| 1207 | RDH: DS 1 | ||
| 1208 | RGCL: DS 1 | ||
| 1209 | RCH: DS 1 | ||
| 1210 | RAL: DS 1 | ||
| 1211 | RIX: DS 1 | ||
| 1212 | RIY: DS 1 | ||
| 1213 | \ No newline at end of file | ||