Mercurial > hg > Members > kono > os9 > sbc09
comparison d09.c @ 33:7c5379eb406e
nitors9 version
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 14 Jul 2018 15:22:54 +0900 |
parents | 10e33568b38a |
children | 2032755628dc |
comparison
equal
deleted
inserted
replaced
32:b494a9bab5f1 | 33:7c5379eb406e |
---|---|
1302 case 0x0b : | 1302 case 0x0b : |
1303 fprintf(fp,"%0.2X %0.2X %s%s D,%s", | 1303 fprintf(fp,"%0.2X %0.2X %s%s D,%s", |
1304 code, postbyte, suffix, op->name, IndexRegister(postbyte)); | 1304 code, postbyte, suffix, op->name, IndexRegister(postbyte)); |
1305 break; | 1305 break; |
1306 case 0x0c : | 1306 case 0x0c : |
1307 offset = (prog[pc+2]+pc+3) & 0xFFFF; | 1307 offset = (*(char *)(prog+pc+2)+pc+3) & 0xFFFF; |
1308 s = "<"; | 1308 s = "<"; |
1309 fprintf(fp,"%0.2X %0.2X %0.2X %s%s %s$%0.2X,PCR", | 1309 fprintf(fp,"%0.2X %0.2X %0.2X %s%s %s$%0.2X,PCR", |
1310 code, postbyte, prog[pc+2], suffix, op->name, s, offset+adoffset); | 1310 code, postbyte, prog[pc+2], suffix, op->name, s, offset+adoffset); |
1311 extrabytes = 1; | 1311 extrabytes = 1; |
1312 break; | 1312 break; |
1313 case 0x0d : | 1313 case 0x0d : |
1314 offset = (prog[pc+2] * 256 + prog[pc+3]+pc+4) & 0xFFFF; | 1314 offset = prog[pc+2] * 256 + prog[pc+3]; |
1315 offset = ((offset>0x7fff?offset-0x8001 : offset )+pc+4) & 0xFFFF; | |
1315 s = ">"; | 1316 s = ">"; |
1316 fprintf(fp,"%0.2X %0.2X %0.2X %0.2X %s%s %s$%0.4X,PCR", | 1317 fprintf(fp,"%0.2X %0.2X %0.2X %0.2X %s%s %s$%0.4X,PCR", |
1317 code, postbyte, prog[pc+2], prog[pc+3], suffix, op->name, s, offset+adoffset); | 1318 code, postbyte, prog[pc+2], prog[pc+3], suffix, op->name, s, offset+adoffset); |
1318 extrabytes = 2; | 1319 extrabytes = 2; |
1319 break; | 1320 break; |
1382 case 0x1b : | 1383 case 0x1b : |
1383 fprintf(fp,"%0.2X %0.2X %s%s [D,%s]", | 1384 fprintf(fp,"%0.2X %0.2X %s%s [D,%s]", |
1384 code, postbyte, suffix, op->name, IndexRegister(postbyte)); | 1385 code, postbyte, suffix, op->name, IndexRegister(postbyte)); |
1385 break; | 1386 break; |
1386 case 0x1c : | 1387 case 0x1c : |
1387 offset = (prog[pc+2]+pc+3) & 0xFFFF; | 1388 offset = (*((char*)prog+pc+2)+pc+3) & 0xFFFF; |
1388 s = "<"; | 1389 s = "<"; |
1389 fprintf(fp,"%0.2X %0.2X %0.2X %s%s [%s$%0.2X,PCR]", | 1390 fprintf(fp,"%0.2X %0.2X %0.2X %s%s [%s$%0.2X,PCR]", |
1390 code, postbyte, prog[pc+2], suffix, op->name, s, offset+adoffset); | 1391 code, postbyte, prog[pc+2], suffix, op->name, s, offset+adoffset); |
1391 extrabytes = 1; | 1392 extrabytes = 1; |
1392 break; | 1393 break; |
1393 case 0x1d : | 1394 case 0x1d : |
1394 offset = (prog[pc+2] * 256 + prog[pc+3]+pc+4) & 0xFFFF; | 1395 offset = prog[pc+2] * 256 + prog[pc+3]; |
1396 offset = ((offset>0x7fff?offset-0x8001 : offset )+pc+4) & 0xFFFF; | |
1395 s = ">"; | 1397 s = ">"; |
1396 fprintf(fp,"%0.2X %0.2X %0.2X %0.2X %s%s [%s$%0.4X,PCR]", | 1398 fprintf(fp,"%0.2X %0.2X %0.2X %0.2X %s%s [%s$%0.4X,PCR]", |
1397 code, postbyte, prog[pc+2], prog[pc+3], suffix, op->name, s, offset+adoffset); | 1399 code, postbyte, prog[pc+2], prog[pc+3], suffix, op->name, s, offset+adoffset); |
1398 extrabytes = 2; | 1400 extrabytes = 2; |
1399 break; | 1401 break; |