ports/emulators/simh/files/patch-PDP1_pdp1__cpu.c
Matthew Seaman 7c084f620e Fixes to allow building on 12-CURRENT
- fix build failures in i386 and amd64 due to compiler changes
- fix numerous compilation warnings and logical errors that may trap
  in the future
- convert all distribution files from DOS format to ease future changes
- convert legacy patch file to new naming convention

PR:		214990
Submitted by:	bob@eager.cx (maintainer)
2017-01-03 14:00:47 +00:00

302 lines
14 KiB
C

--- PDP1/pdp1_cpu.c.orig 2016-12-01 22:43:42 UTC
+++ PDP1/pdp1_cpu.c
@@ -546,7 +546,7 @@ reason = 0;
while (reason == 0) { /* loop until halted */
if (sim_interval <= 0) { /* check clock queue */
- if (reason = sim_process_event ())
+ if ((reason = sim_process_event ()))
break;
sbs_lvl = sbs_eval (); /* eval sbs system */
}
@@ -610,25 +610,25 @@ while (reason == 0) {
/* Logical, load, store instructions */
case 001: /* AND */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
AC = AC & MB;
break;
case 002: /* IOR */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
AC = AC | MB;
break;
case 003: /* XOR */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
AC = AC ^ MB;
break;
@@ -638,9 +638,9 @@ while (reason == 0) {
reason = STOP_XCT;
break;
}
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
xct_count = xct_count + 1; /* count XCT's */
IR = MB; /* get instruction */
@@ -648,9 +648,9 @@ while (reason == 0) {
case 005: /* LCH */
if (cpu_unit.flags & UNIT_1D) { /* PDP-1D? */
- if (reason = Ea_ch (IR, &byno)) /* MA <- eff addr */
+ if ((reason = Ea_ch (IR, &byno))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
AC = (MB << byt_shf[byno]) & 0770000; /* extract byte */
}
@@ -659,9 +659,9 @@ while (reason == 0) {
case 006: /* DCH */
if (cpu_unit.flags & UNIT_1D) { /* PDP-1D? */
- if (reason = Ea_ch (IR, &byno)) /* MA <- eff addr */
+ if ((reason = Ea_ch (IR, &byno))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
MB = (MB & ~(0770000 >> byt_shf[byno])) | /* insert byte */
((AC & 0770000) >> byt_shf[byno]);
@@ -683,55 +683,55 @@ while (reason == 0) {
break;
case 010: /* LAC */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
AC = MB;
break;
case 011: /* LIO */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
IO = MB;
break;
case 012: /* DAC */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
MB = AC;
reason = Write ();
break;
case 013: /* DAP */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
MB = (AC & DAMASK) | (MB & ~DAMASK);
reason = Write ();
break;
case 014: /* DIP */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
MB = (AC & ~DAMASK) | (MB & DAMASK);
reason = Write ();
break;
case 015: /* DIO */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
MB = IO;
reason = Write ();
break;
case 016: /* DZM */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
MB = 0;
reason = Write ();
@@ -755,9 +755,9 @@ while (reason == 0) {
case 017: /* TAD */
if (cpu_unit.flags & UNIT_1D) { /* PDP-1D? */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
AC = AC + MB + ((PF & PF_L)? 1: 0); /* AC + opnd + L */
if (AC > DMASK) /* carry? set L */
@@ -769,9 +769,9 @@ while (reason == 0) {
break;
case 020: /* ADD */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
t = AC;
AC = AC + MB;
@@ -784,9 +784,9 @@ while (reason == 0) {
break;
case 021: /* SUB */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
t = AC ^ DMASK; /* complement AC */
AC = t + MB; /* -AC + MB */
@@ -798,9 +798,9 @@ while (reason == 0) {
break;
case 022: /* IDX */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
AC = MB + 1;
if (AC >= DMASK)
@@ -810,9 +810,9 @@ while (reason == 0) {
break;
case 023: /* ISP */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
AC = MB + 1;
if (AC >= DMASK)
@@ -824,18 +824,18 @@ while (reason == 0) {
break;
case 024: /* SAD */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
if (AC != MB)
PC = INCR_ADDR (PC);
break;
case 025: /* SAS */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
if (AC == MB)
PC = INCR_ADDR (PC);
@@ -863,7 +863,7 @@ while (reason == 0) {
hst[hst_p].ea = PC;
}
else { /* normal JMP */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
PCQ_ENTRY;
PC = MA;
@@ -871,7 +871,7 @@ while (reason == 0) {
break;
case 031: /* JSP */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
AC = EPC_WORD;
PCQ_ENTRY;
@@ -889,9 +889,9 @@ while (reason == 0) {
*/
case 026: /* MUL */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
if (cpu_unit.flags & UNIT_MDV) { /* hardware? */
sign = AC ^ MB; /* result sign */
@@ -919,9 +919,9 @@ while (reason == 0) {
break;
case 027: /* DIV */
- if (reason = Ea (IR)) /* MA <- eff addr */
+ if ((reason = Ea (IR))) /* MA <- eff addr */
break;
- if (reason = Read ()) /* MB <- data */
+ if ((reason = Read ())) /* MB <- data */
break;
if (cpu_unit.flags & UNIT_MDV) { /* hardware */
sign = AC ^ MB; /* result sign */
@@ -1362,13 +1362,13 @@ t_stat r;
MA = (PC & EPCMASK) | (IR & DAMASK); /* direct address */
if (IR & IA) { /* indirect addr? */
if (extm) { /* extend? */
- if (r = Read ()) /* read; err? */
+ if ((r = Read ())) /* read; err? */
return r;
MA = MB & AMASK; /* one level */
}
else { /* multi-level */
for (i = 0; i < ind_max; i++) { /* count indirects */
- if (r = Read ()) /* get ind word */
+ if ((r = Read ())) /* get ind word */
return r;
MA = (PC & EPCMASK) | (MB & DAMASK);
if ((MB & IA) == 0)
@@ -1392,12 +1392,12 @@ t_stat r;
MA = (PC & EPCMASK) | (IR & DAMASK); /* direct address */
if (extm) { /* extend? */
- if (r = Read ()) /* read; err? */
+ if ((r = Read ())) /* read; err? */
return r;
}
else { /* multi-level */
for (i = 0; i < ind_max; i++) { /* count indirects */
- if (r = Read ()) /* get ind word */
+ if ((r = Read ())) /* get ind word */
return r;
if ((MB & IA) == 0)
break;