From e3b40e4da1b5aebfad4f9cf97709ca3e76f4fa44 Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Thu, 12 Jan 2017 14:59:25 -0500 Subject: [PATCH] with +D disassembly, support for cRELOC, cINTERSEG, and SUPER records. --- DumpOBJ.cc | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/DumpOBJ.cc b/DumpOBJ.cc index 50c6a87..460862d 100644 --- a/DumpOBJ.cc +++ b/DumpOBJ.cc @@ -2019,6 +2019,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;