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 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 */
|
||||
int32 DI; /* Source Index Register */
|
||||
int32 SI; /* Destination Index Register */
|
||||
|
@ -3201,7 +3197,8 @@ int32 fetch_byte(int32 flag)
|
|||
break;
|
||||
}
|
||||
}
|
||||
IP = INC_IP1; /* increment IP */
|
||||
IP++; /* increment IP */
|
||||
IP &= ADDRMASK16;
|
||||
return val;
|
||||
}
|
||||
|
||||
|
@ -3213,7 +3210,8 @@ int32 fetch_word(void)
|
|||
val |= get_smbyte(SEG_CS, IP + 1) << 8; /* fetch high byte */
|
||||
// if (i8088_dev.dctrl & DEBUG_asm)
|
||||
// sim_printf("0%04XH", val);
|
||||
IP = INC_IP2; /* increment IP */
|
||||
IP += 2;; /* increment IP */
|
||||
IP &= ADDRMASK16;
|
||||
return val;
|
||||
}
|
||||
|
||||
|
@ -3251,7 +3249,7 @@ void i86_intr_raise(uint8 num)
|
|||
|
||||
uint32 get_rbyte(uint32 reg)
|
||||
{
|
||||
uint32 val;
|
||||
uint32 val = 0;
|
||||
|
||||
switch(reg) {
|
||||
case 0: val = AL; break;
|
||||
|
@ -3270,7 +3268,7 @@ uint32 get_rbyte(uint32 reg)
|
|||
|
||||
uint32 get_rword(uint32 reg)
|
||||
{
|
||||
uint32 val;
|
||||
uint32 val = 0;
|
||||
|
||||
switch(reg) {
|
||||
case 0: val = AX; break;
|
||||
|
@ -3337,7 +3335,7 @@ void set_segreg(uint32 reg)
|
|||
|
||||
uint32 get_ea(uint32 mrr)
|
||||
{
|
||||
uint32 MOD, REG, RM, DISP, EA;
|
||||
uint32 MOD, REG, RM, DISP, EA = 0;
|
||||
|
||||
get_mrr_dec(mrr, &MOD, ®, &RM);
|
||||
switch(MOD) {
|
||||
|
@ -4759,7 +4757,7 @@ t_stat fprint_sym (FILE *of, t_addr addr, t_value *val,
|
|||
if (strchr(opcode[inst], ' ') != NULL)
|
||||
fprintf (of, ",");
|
||||
else fprintf (of, " ");
|
||||
fprintf (of, "%h", val[1]);
|
||||
fprintf (of, "%x", val[1]);
|
||||
}
|
||||
if (oplen[inst] == 3) {
|
||||
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)
|
||||
fprintf (of, ",");
|
||||
else fprintf (of, " ");
|
||||
fprintf (of, "%h", adr);
|
||||
fprintf (of, "%x", adr);
|
||||
}
|
||||
return -(oplen[inst] - 1);
|
||||
}
|
||||
|
|
|
@ -375,7 +375,7 @@ DEVICE i8237_dev = {
|
|||
|
||||
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);
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
@ -504,6 +504,7 @@ uint8 i8237_r0x(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_r1x(t_bool io, uint8 data)
|
||||
|
@ -534,6 +535,7 @@ uint8 i8237_r1x(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_r2x(t_bool io, uint8 data)
|
||||
|
@ -564,6 +566,7 @@ uint8 i8237_r2x(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_r3x(t_bool io, uint8 data)
|
||||
|
@ -594,6 +597,7 @@ uint8 i8237_r3x(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_r4x(t_bool io, uint8 data)
|
||||
|
@ -624,6 +628,7 @@ uint8 i8237_r4x(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_r5x(t_bool io, uint8 data)
|
||||
|
@ -654,6 +659,7 @@ uint8 i8237_r5x(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_r6x(t_bool io, uint8 data)
|
||||
|
@ -684,6 +690,7 @@ uint8 i8237_r6x(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_r7x(t_bool io, uint8 data)
|
||||
|
@ -714,6 +721,7 @@ uint8 i8237_r7x(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_r8x(t_bool io, uint8 data)
|
||||
|
@ -730,6 +738,7 @@ uint8 i8237_r8x(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_r9x(t_bool io, uint8 data)
|
||||
|
@ -746,6 +755,7 @@ uint8 i8237_r9x(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_rAx(t_bool io, uint8 data)
|
||||
|
@ -787,6 +797,7 @@ uint8 i8237_rAx(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_rBx(t_bool io, uint8 data)
|
||||
|
@ -803,6 +814,7 @@ uint8 i8237_rBx(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_rCx(t_bool io, uint8 data)
|
||||
|
@ -819,6 +831,7 @@ uint8 i8237_rCx(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_rDx(t_bool io, uint8 data)
|
||||
|
@ -835,6 +848,7 @@ uint8 i8237_rDx(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_rEx(t_bool io, uint8 data)
|
||||
|
@ -851,6 +865,7 @@ uint8 i8237_rEx(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 i8237_rFx(t_bool io, uint8 data)
|
||||
|
@ -867,6 +882,7 @@ uint8 i8237_rFx(t_bool io, uint8 data)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* end of i8237.c */
|
||||
|
|
|
@ -423,6 +423,7 @@ uint8 nulldev(t_bool flag, uint8 data)
|
|||
port, flag, data);
|
||||
if (flag == 0) /* if we got here, no valid I/O device */
|
||||
return 0xFF;
|
||||
return 0;
|
||||
}
|
||||
|
||||
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;
|
||||
//sim_printf("dmapag0: dmapagreg0=%04X\n", data);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 dmapag1(t_bool io, uint8 data)
|
||||
|
@ -110,6 +111,7 @@ uint8 dmapag1(t_bool io, uint8 data)
|
|||
dmapagreg1 = data;
|
||||
//sim_printf("dmapag1: dmapagreg1=%04X\n", data);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 dmapag2(t_bool io, uint8 data)
|
||||
|
@ -120,6 +122,7 @@ uint8 dmapag2(t_bool io, uint8 data)
|
|||
dmapagreg2 = data;
|
||||
//sim_printf("dmapag2: dmapagreg2=%04X\n", data);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 dmapag3(t_bool io, uint8 data)
|
||||
|
@ -131,6 +134,7 @@ uint8 dmapag3(t_bool io, uint8 data)
|
|||
dmapagreg3 = data;
|
||||
//sim_printf("dmapag3: dmapagreg3=%04X\n", data);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 enbnmi(t_bool io, uint8 data)
|
||||
|
@ -146,6 +150,7 @@ uint8 enbnmi(t_bool io, uint8 data)
|
|||
//sim_printf("enbnmi: NMI disabled\n");
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 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);
|
||||
if (flen == -1) {
|
||||
sim_printf(" isbc201_attach: File error\n");
|
||||
fclose(fp);
|
||||
return SCPE_IOERR;
|
||||
}
|
||||
if (fdc201[fdcnum].fdd[fddnum].buf == NULL) { /* no buffer allocated */
|
||||
fdc201[fdcnum].fdd[fddnum].buf = (uint8 *)malloc(flen);
|
||||
if (fdc201[fdcnum].fdd[fddnum].buf == NULL) {
|
||||
sim_printf(" isbc201_attach: Malloc error\n");
|
||||
fclose(fp);
|
||||
return SCPE_MEM;
|
||||
}
|
||||
}
|
||||
|
@ -450,8 +452,7 @@ uint8 isbc201_get_dn(void)
|
|||
{
|
||||
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)
|
||||
return i;
|
||||
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);
|
||||
if (flen == -1) {
|
||||
sim_printf(" isbc202_attach: File error\n");
|
||||
fclose(fp);
|
||||
return SCPE_IOERR;
|
||||
}
|
||||
if (fdc202[fdcnum].fdd[fddnum].buf == NULL) { /* no buffer allocated */
|
||||
fdc202[fdcnum].fdd[fddnum].buf = (uint8 *)malloc(flen);
|
||||
if (fdc202[fdcnum].fdd[fddnum].buf == NULL) {
|
||||
sim_printf(" isbc202_attach: Malloc error\n");
|
||||
fclose(fp);
|
||||
return SCPE_MEM;
|
||||
}
|
||||
}
|
||||
|
@ -477,8 +479,7 @@ uint8 isbc202_get_dn(void)
|
|||
{
|
||||
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)
|
||||
return i;
|
||||
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);
|
||||
if (flen == -1) {
|
||||
sim_printf(" isbc208_attach: File error\n");
|
||||
fclose(fp);
|
||||
return SCPE_IOERR;
|
||||
}
|
||||
if (isbc208_buf[uptr->u6] == NULL) { /* no buffer allocated */
|
||||
isbc208_buf[uptr->u6] = (uint8 *)malloc(flen);
|
||||
if (isbc208_buf[uptr->u6] == NULL) {
|
||||
sim_printf(" iSBC208_attach: Malloc error\n");
|
||||
fclose(fp);
|
||||
return SCPE_MEM;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -420,12 +420,14 @@ t_stat zx200a_attach (UNIT *uptr, CONST char *cptr)
|
|||
fseek(fp, 0, SEEK_SET);
|
||||
if (flen == -1) {
|
||||
sim_printf(" zx200a_attach: File error\n");
|
||||
fclose(fp);
|
||||
return SCPE_IOERR;
|
||||
}
|
||||
if (zx200a[fdcnum].fdd[fddnum].buf == NULL) { /* no buffer allocated */
|
||||
zx200a[fdcnum].fdd[fddnum].buf = (uint8 *)malloc(flen);
|
||||
if (zx200a[fdcnum].fdd[fddnum].buf == NULL) {
|
||||
sim_printf(" zx200a_attach: Malloc error\n");
|
||||
fclose(fp);
|
||||
return SCPE_MEM;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue