Merge pull request #8 from ksherlock/patch_11

+D (disassembly) support for cRELOC, cINTERSEG, and SUPER records.
This commit is contained in:
MikeW50 2018-03-25 15:26:19 -06:00 committed by GitHub
commit 38eb5d2a16
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 28 additions and 0 deletions

View File

@ -2035,6 +2035,34 @@ switch(op) {
printf(" : ");
PutSymbol();
break;
case OPSRELOC: /* handle short reloc opcode */
p1 = fgetc(input);
p2 = fgetc(input);
printf("! cRELOC ($F5) | %02X : %02X : ", p1, p2);
ReadInt(&number,2,input,numsex);
printf("%04X : ", (int) number);
ReadInt(&number,2,input,numsex);
printf("%04X", (int) number);
count = count + 6;
break;
case OPSINTSEG: /* handle short interseg opcode */
p1 = fgetc(input);
p2 = fgetc(input);
printf("! cINTRSEG ($F6) | %02X : %02X : ", p1, p2);
ReadInt(&number,2,input,numsex);
printf("%04X : %02X : ", (int) number, (int) fgetc(input));
ReadInt(&number,2,input,numsex);
printf("%04X", (int) number);
count = count + 7;
break;
case OPSUPER: /* handle short interseg opcode */
printf("! SUPER ($F7) | ");
ReadInt(&number,4,input,numsex);
printf("%08lX : %02X", (long) number, (int) fgetc(input));
NewLine();
count = count + number;
PutConst(number-1,1);
break;
default:
Error(7," ");
break;