Mercurial > hg > Members > kono > os9 > sbc09
diff os9/os9disass.c @ 8:96a067cf4c4f
level2 rom done
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 05 Jul 2018 12:07:06 +0900 |
parents | 3c736a81b886 |
children | 111e5defb8ab |
line wrap: on
line diff
--- a/os9/os9disass.c Thu Jul 05 02:00:14 2018 +0900 +++ b/os9/os9disass.c Thu Jul 05 12:07:06 2018 +0900 @@ -1110,7 +1110,7 @@ int offset; offset = prog[pc+1]; - fprintf(fp,"%0.2X %0.2X %s%s $%0.2X", + fprintf(fp,"%0.2X %0.2X %s%s <$%0.2X", code, offset, suffix, op->name, offset); return op->bytes; } @@ -1307,14 +1307,14 @@ offset = (prog[pc+2]+pc+3) & 0xFFFF; s = "<"; fprintf(fp,"%0.2X %0.2X %0.2X %s%s %s$%0.2X,PCR", - code, postbyte, prog[pc+2], suffix, op->name, s, pc+3+offset+adoffset); + code, postbyte, prog[pc+2], suffix, op->name, s, offset+adoffset); extrabytes = 1; break; case 0x0d : offset = (prog[pc+2] * 256 + prog[pc+3]+pc+4) & 0xFFFF; s = ">"; fprintf(fp,"%0.2X %0.2X %0.2X %0.2X %s%s %s$%0.4X,PCR", - code, postbyte, prog[pc+2], prog[pc+3], suffix, op->name, s, offset+pc+4+adoffset); + code, postbyte, prog[pc+2], prog[pc+3], suffix, op->name, s, offset+adoffset); extrabytes = 2; break; case 0x0e : @@ -1387,14 +1387,14 @@ offset = (prog[pc+2]+pc+3) & 0xFFFF; s = "<"; fprintf(fp,"%0.2X %0.2X %0.2X %s%s [%s$%0.2X,PCR]", - code, postbyte, prog[pc+2], suffix, op->name, s, offset+pc+2+adoffset); + code, postbyte, prog[pc+2], suffix, op->name, s, offset+adoffset); extrabytes = 1; break; case 0x1d : offset = (prog[pc+2] * 256 + prog[pc+3]+pc+4) & 0xFFFF; s = ">"; fprintf(fp,"%0.2X %0.2X %0.2X %0.2X %s%s [%s$%0.4X,PCR]", - code, postbyte, prog[pc+2], prog[pc+3], suffix, op->name, s, offset+pc+3+adoffset); + code, postbyte, prog[pc+2], prog[pc+3], suffix, op->name, s, offset+adoffset); extrabytes = 2; break; case 0x1e : @@ -1639,7 +1639,8 @@ } sscanf(argv[2],"%x",&start); start -= adoffset; - sscanf(argv[3],"%x",&end); end -= adoffset; + sscanf(argv[3],"%x",&end); end -= adoffset; + printf("disass %x - %x\n",start,end); fp = stdout;