ibmpc, isys80xx, imds-225: Fix Coverity identified problems
This commit is contained in:
parent
b64f3cd1c7
commit
0f41c24cb8
8 changed files with 42 additions and 16 deletions
|
@ -252,10 +252,6 @@ union {
|
||||||
#define CX (C.w)
|
#define CX (C.w)
|
||||||
#define DX (D.w)
|
#define DX (D.w)
|
||||||
|
|
||||||
/* macros for handling IP and SP */
|
|
||||||
#define INC_IP1 (++IP & ADDRMASK16) /* increment IP one byte */
|
|
||||||
#define INC_IP2 ((IP += 2) & ADDRMASK16) /* increment IP two bytes */
|
|
||||||
|
|
||||||
/* storage for the rest of the registers */
|
/* storage for the rest of the registers */
|
||||||
int32 DI; /* Source Index Register */
|
int32 DI; /* Source Index Register */
|
||||||
int32 SI; /* Destination Index Register */
|
int32 SI; /* Destination Index Register */
|
||||||
|
@ -3201,7 +3197,8 @@ int32 fetch_byte(int32 flag)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
IP = INC_IP1; /* increment IP */
|
IP++; /* increment IP */
|
||||||
|
IP &= ADDRMASK16;
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3213,7 +3210,8 @@ int32 fetch_word(void)
|
||||||
val |= get_smbyte(SEG_CS, IP + 1) << 8; /* fetch high byte */
|
val |= get_smbyte(SEG_CS, IP + 1) << 8; /* fetch high byte */
|
||||||
// if (i8088_dev.dctrl & DEBUG_asm)
|
// if (i8088_dev.dctrl & DEBUG_asm)
|
||||||
// sim_printf("0%04XH", val);
|
// sim_printf("0%04XH", val);
|
||||||
IP = INC_IP2; /* increment IP */
|
IP += 2;; /* increment IP */
|
||||||
|
IP &= ADDRMASK16;
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3251,7 +3249,7 @@ void i86_intr_raise(uint8 num)
|
||||||
|
|
||||||
uint32 get_rbyte(uint32 reg)
|
uint32 get_rbyte(uint32 reg)
|
||||||
{
|
{
|
||||||
uint32 val;
|
uint32 val = 0;
|
||||||
|
|
||||||
switch(reg) {
|
switch(reg) {
|
||||||
case 0: val = AL; break;
|
case 0: val = AL; break;
|
||||||
|
@ -3270,7 +3268,7 @@ uint32 get_rbyte(uint32 reg)
|
||||||
|
|
||||||
uint32 get_rword(uint32 reg)
|
uint32 get_rword(uint32 reg)
|
||||||
{
|
{
|
||||||
uint32 val;
|
uint32 val = 0;
|
||||||
|
|
||||||
switch(reg) {
|
switch(reg) {
|
||||||
case 0: val = AX; break;
|
case 0: val = AX; break;
|
||||||
|
@ -3337,7 +3335,7 @@ void set_segreg(uint32 reg)
|
||||||
|
|
||||||
uint32 get_ea(uint32 mrr)
|
uint32 get_ea(uint32 mrr)
|
||||||
{
|
{
|
||||||
uint32 MOD, REG, RM, DISP, EA;
|
uint32 MOD, REG, RM, DISP, EA = 0;
|
||||||
|
|
||||||
get_mrr_dec(mrr, &MOD, ®, &RM);
|
get_mrr_dec(mrr, &MOD, ®, &RM);
|
||||||
switch(MOD) {
|
switch(MOD) {
|
||||||
|
@ -4759,7 +4757,7 @@ t_stat fprint_sym (FILE *of, t_addr addr, t_value *val,
|
||||||
if (strchr(opcode[inst], ' ') != NULL)
|
if (strchr(opcode[inst], ' ') != NULL)
|
||||||
fprintf (of, ",");
|
fprintf (of, ",");
|
||||||
else fprintf (of, " ");
|
else fprintf (of, " ");
|
||||||
fprintf (of, "%h", val[1]);
|
fprintf (of, "%x", val[1]);
|
||||||
}
|
}
|
||||||
if (oplen[inst] == 3) {
|
if (oplen[inst] == 3) {
|
||||||
adr = val[1] & 0xFF;
|
adr = val[1] & 0xFF;
|
||||||
|
@ -4767,7 +4765,7 @@ t_stat fprint_sym (FILE *of, t_addr addr, t_value *val,
|
||||||
if (strchr(opcode[inst], ' ') != NULL)
|
if (strchr(opcode[inst], ' ') != NULL)
|
||||||
fprintf (of, ",");
|
fprintf (of, ",");
|
||||||
else fprintf (of, " ");
|
else fprintf (of, " ");
|
||||||
fprintf (of, "%h", adr);
|
fprintf (of, "%x", adr);
|
||||||
}
|
}
|
||||||
return -(oplen[inst] - 1);
|
return -(oplen[inst] - 1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -375,7 +375,7 @@ DEVICE i8237_dev = {
|
||||||
|
|
||||||
t_stat i8237_svc(UNIT *uptr)
|
t_stat i8237_svc(UNIT *uptr)
|
||||||
{
|
{
|
||||||
sim_printf("uptr=%08X\n", uptr);
|
sim_printf("uptr=%08X\n", (long) uptr);
|
||||||
sim_activate (&i8237_unit[uptr->u6], i8237_unit[uptr->u6].wait);
|
sim_activate (&i8237_unit[uptr->u6], i8237_unit[uptr->u6].wait);
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
@ -504,6 +504,7 @@ uint8 i8237_r0x(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_r1x(t_bool io, uint8 data)
|
uint8 i8237_r1x(t_bool io, uint8 data)
|
||||||
|
@ -534,6 +535,7 @@ uint8 i8237_r1x(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_r2x(t_bool io, uint8 data)
|
uint8 i8237_r2x(t_bool io, uint8 data)
|
||||||
|
@ -564,6 +566,7 @@ uint8 i8237_r2x(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_r3x(t_bool io, uint8 data)
|
uint8 i8237_r3x(t_bool io, uint8 data)
|
||||||
|
@ -594,6 +597,7 @@ uint8 i8237_r3x(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_r4x(t_bool io, uint8 data)
|
uint8 i8237_r4x(t_bool io, uint8 data)
|
||||||
|
@ -624,6 +628,7 @@ uint8 i8237_r4x(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_r5x(t_bool io, uint8 data)
|
uint8 i8237_r5x(t_bool io, uint8 data)
|
||||||
|
@ -654,6 +659,7 @@ uint8 i8237_r5x(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_r6x(t_bool io, uint8 data)
|
uint8 i8237_r6x(t_bool io, uint8 data)
|
||||||
|
@ -684,6 +690,7 @@ uint8 i8237_r6x(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_r7x(t_bool io, uint8 data)
|
uint8 i8237_r7x(t_bool io, uint8 data)
|
||||||
|
@ -714,6 +721,7 @@ uint8 i8237_r7x(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_r8x(t_bool io, uint8 data)
|
uint8 i8237_r8x(t_bool io, uint8 data)
|
||||||
|
@ -730,6 +738,7 @@ uint8 i8237_r8x(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_r9x(t_bool io, uint8 data)
|
uint8 i8237_r9x(t_bool io, uint8 data)
|
||||||
|
@ -746,6 +755,7 @@ uint8 i8237_r9x(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_rAx(t_bool io, uint8 data)
|
uint8 i8237_rAx(t_bool io, uint8 data)
|
||||||
|
@ -787,6 +797,7 @@ uint8 i8237_rAx(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_rBx(t_bool io, uint8 data)
|
uint8 i8237_rBx(t_bool io, uint8 data)
|
||||||
|
@ -803,6 +814,7 @@ uint8 i8237_rBx(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_rCx(t_bool io, uint8 data)
|
uint8 i8237_rCx(t_bool io, uint8 data)
|
||||||
|
@ -819,6 +831,7 @@ uint8 i8237_rCx(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_rDx(t_bool io, uint8 data)
|
uint8 i8237_rDx(t_bool io, uint8 data)
|
||||||
|
@ -835,6 +848,7 @@ uint8 i8237_rDx(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_rEx(t_bool io, uint8 data)
|
uint8 i8237_rEx(t_bool io, uint8 data)
|
||||||
|
@ -851,6 +865,7 @@ uint8 i8237_rEx(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 i8237_rFx(t_bool io, uint8 data)
|
uint8 i8237_rFx(t_bool io, uint8 data)
|
||||||
|
@ -867,6 +882,7 @@ uint8 i8237_rFx(t_bool io, uint8 data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* end of i8237.c */
|
/* end of i8237.c */
|
||||||
|
|
|
@ -423,6 +423,7 @@ uint8 nulldev(t_bool flag, uint8 data)
|
||||||
port, flag, data);
|
port, flag, data);
|
||||||
if (flag == 0) /* if we got here, no valid I/O device */
|
if (flag == 0) /* if we got here, no valid I/O device */
|
||||||
return 0xFF;
|
return 0xFF;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16 reg_dev(uint8 (*routine)(t_bool io, uint8 data), uint16 port)
|
uint16 reg_dev(uint8 (*routine)(t_bool io, uint8 data), uint16 port)
|
||||||
|
|
|
@ -100,6 +100,7 @@ uint8 dmapag0(t_bool io, uint8 data)
|
||||||
dmapagreg0 = data;
|
dmapagreg0 = data;
|
||||||
//sim_printf("dmapag0: dmapagreg0=%04X\n", data);
|
//sim_printf("dmapag0: dmapagreg0=%04X\n", data);
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 dmapag1(t_bool io, uint8 data)
|
uint8 dmapag1(t_bool io, uint8 data)
|
||||||
|
@ -110,6 +111,7 @@ uint8 dmapag1(t_bool io, uint8 data)
|
||||||
dmapagreg1 = data;
|
dmapagreg1 = data;
|
||||||
//sim_printf("dmapag1: dmapagreg1=%04X\n", data);
|
//sim_printf("dmapag1: dmapagreg1=%04X\n", data);
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 dmapag2(t_bool io, uint8 data)
|
uint8 dmapag2(t_bool io, uint8 data)
|
||||||
|
@ -120,6 +122,7 @@ uint8 dmapag2(t_bool io, uint8 data)
|
||||||
dmapagreg2 = data;
|
dmapagreg2 = data;
|
||||||
//sim_printf("dmapag2: dmapagreg2=%04X\n", data);
|
//sim_printf("dmapag2: dmapagreg2=%04X\n", data);
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 dmapag3(t_bool io, uint8 data)
|
uint8 dmapag3(t_bool io, uint8 data)
|
||||||
|
@ -131,6 +134,7 @@ uint8 dmapag3(t_bool io, uint8 data)
|
||||||
dmapagreg3 = data;
|
dmapagreg3 = data;
|
||||||
//sim_printf("dmapag3: dmapagreg3=%04X\n", data);
|
//sim_printf("dmapag3: dmapagreg3=%04X\n", data);
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 enbnmi(t_bool io, uint8 data)
|
uint8 enbnmi(t_bool io, uint8 data)
|
||||||
|
@ -146,6 +150,7 @@ uint8 enbnmi(t_bool io, uint8 data)
|
||||||
//sim_printf("enbnmi: NMI disabled\n");
|
//sim_printf("enbnmi: NMI disabled\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get a byte from memory - handle RAM, ROM, I/O, and Multibus memory */
|
/* get a byte from memory - handle RAM, ROM, I/O, and Multibus memory */
|
||||||
|
|
|
@ -391,12 +391,14 @@ t_stat isbc201_attach (UNIT *uptr, CONST char *cptr)
|
||||||
fseek(fp, 0, SEEK_SET);
|
fseek(fp, 0, SEEK_SET);
|
||||||
if (flen == -1) {
|
if (flen == -1) {
|
||||||
sim_printf(" isbc201_attach: File error\n");
|
sim_printf(" isbc201_attach: File error\n");
|
||||||
|
fclose(fp);
|
||||||
return SCPE_IOERR;
|
return SCPE_IOERR;
|
||||||
}
|
}
|
||||||
if (fdc201[fdcnum].fdd[fddnum].buf == NULL) { /* no buffer allocated */
|
if (fdc201[fdcnum].fdd[fddnum].buf == NULL) { /* no buffer allocated */
|
||||||
fdc201[fdcnum].fdd[fddnum].buf = (uint8 *)malloc(flen);
|
fdc201[fdcnum].fdd[fddnum].buf = (uint8 *)malloc(flen);
|
||||||
if (fdc201[fdcnum].fdd[fddnum].buf == NULL) {
|
if (fdc201[fdcnum].fdd[fddnum].buf == NULL) {
|
||||||
sim_printf(" isbc201_attach: Malloc error\n");
|
sim_printf(" isbc201_attach: Malloc error\n");
|
||||||
|
fclose(fp);
|
||||||
return SCPE_MEM;
|
return SCPE_MEM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -450,8 +452,7 @@ uint8 isbc201_get_dn(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
// for (i=0; i<SBC201_NUM; i++)
|
for (i=0; i<SBC201_NUM; i++)
|
||||||
for (i=0; i<=SBC201_NUM; i++)
|
|
||||||
if (port >= fdc201[i].baseport && port <= fdc201[i].baseport + 7)
|
if (port >= fdc201[i].baseport && port <= fdc201[i].baseport + 7)
|
||||||
return i;
|
return i;
|
||||||
sim_printf("isbc201_get_dn: port %04X not in isbc202 device table\n", port);
|
sim_printf("isbc201_get_dn: port %04X not in isbc202 device table\n", port);
|
||||||
|
|
|
@ -405,12 +405,14 @@ t_stat isbc202_attach (UNIT *uptr, CONST char *cptr)
|
||||||
fseek(fp, 0, SEEK_SET);
|
fseek(fp, 0, SEEK_SET);
|
||||||
if (flen == -1) {
|
if (flen == -1) {
|
||||||
sim_printf(" isbc202_attach: File error\n");
|
sim_printf(" isbc202_attach: File error\n");
|
||||||
|
fclose(fp);
|
||||||
return SCPE_IOERR;
|
return SCPE_IOERR;
|
||||||
}
|
}
|
||||||
if (fdc202[fdcnum].fdd[fddnum].buf == NULL) { /* no buffer allocated */
|
if (fdc202[fdcnum].fdd[fddnum].buf == NULL) { /* no buffer allocated */
|
||||||
fdc202[fdcnum].fdd[fddnum].buf = (uint8 *)malloc(flen);
|
fdc202[fdcnum].fdd[fddnum].buf = (uint8 *)malloc(flen);
|
||||||
if (fdc202[fdcnum].fdd[fddnum].buf == NULL) {
|
if (fdc202[fdcnum].fdd[fddnum].buf == NULL) {
|
||||||
sim_printf(" isbc202_attach: Malloc error\n");
|
sim_printf(" isbc202_attach: Malloc error\n");
|
||||||
|
fclose(fp);
|
||||||
return SCPE_MEM;
|
return SCPE_MEM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -477,8 +479,7 @@ uint8 isbc202_get_dn(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
// for (i=0; i<SBC202_NUM; i++)
|
for (i=0; i<SBC202_NUM; i++)
|
||||||
for (i=0; i<=SBC202_NUM; i++)
|
|
||||||
if (port >= fdc202[i].baseport && port <= fdc202[i].baseport + 7)
|
if (port >= fdc202[i].baseport && port <= fdc202[i].baseport + 7)
|
||||||
return i;
|
return i;
|
||||||
sim_printf("isbc202_get_dn: port %04X not in isbc202 device table\n", port);
|
sim_printf("isbc202_get_dn: port %04X not in isbc202 device table\n", port);
|
||||||
|
|
|
@ -1071,12 +1071,14 @@ t_stat isbc208_attach (UNIT *uptr, CONST char *cptr)
|
||||||
fseek(fp, 0, SEEK_SET);
|
fseek(fp, 0, SEEK_SET);
|
||||||
if (flen == -1) {
|
if (flen == -1) {
|
||||||
sim_printf(" isbc208_attach: File error\n");
|
sim_printf(" isbc208_attach: File error\n");
|
||||||
|
fclose(fp);
|
||||||
return SCPE_IOERR;
|
return SCPE_IOERR;
|
||||||
}
|
}
|
||||||
if (isbc208_buf[uptr->u6] == NULL) { /* no buffer allocated */
|
if (isbc208_buf[uptr->u6] == NULL) { /* no buffer allocated */
|
||||||
isbc208_buf[uptr->u6] = (uint8 *)malloc(flen);
|
isbc208_buf[uptr->u6] = (uint8 *)malloc(flen);
|
||||||
if (isbc208_buf[uptr->u6] == NULL) {
|
if (isbc208_buf[uptr->u6] == NULL) {
|
||||||
sim_printf(" iSBC208_attach: Malloc error\n");
|
sim_printf(" iSBC208_attach: Malloc error\n");
|
||||||
|
fclose(fp);
|
||||||
return SCPE_MEM;
|
return SCPE_MEM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -420,12 +420,14 @@ t_stat zx200a_attach (UNIT *uptr, CONST char *cptr)
|
||||||
fseek(fp, 0, SEEK_SET);
|
fseek(fp, 0, SEEK_SET);
|
||||||
if (flen == -1) {
|
if (flen == -1) {
|
||||||
sim_printf(" zx200a_attach: File error\n");
|
sim_printf(" zx200a_attach: File error\n");
|
||||||
|
fclose(fp);
|
||||||
return SCPE_IOERR;
|
return SCPE_IOERR;
|
||||||
}
|
}
|
||||||
if (zx200a[fdcnum].fdd[fddnum].buf == NULL) { /* no buffer allocated */
|
if (zx200a[fdcnum].fdd[fddnum].buf == NULL) { /* no buffer allocated */
|
||||||
zx200a[fdcnum].fdd[fddnum].buf = (uint8 *)malloc(flen);
|
zx200a[fdcnum].fdd[fddnum].buf = (uint8 *)malloc(flen);
|
||||||
if (zx200a[fdcnum].fdd[fddnum].buf == NULL) {
|
if (zx200a[fdcnum].fdd[fddnum].buf == NULL) {
|
||||||
sim_printf(" zx200a_attach: Malloc error\n");
|
sim_printf(" zx200a_attach: Malloc error\n");
|
||||||
|
fclose(fp);
|
||||||
return SCPE_MEM;
|
return SCPE_MEM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue