blob: d7df01b85bc1bb3f38457102ef422567080cff92 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
--- Ibm1130/ibm1130_cpu.c.orig 2016-12-01 22:43:42 UTC
+++ Ibm1130/ibm1130_cpu.c
@@ -768,7 +768,7 @@ t_stat sim_instr (void)
CCC--;
}
C = (CCC != 0);
- WriteIndex(TAG, ReadIndex(TAG) & 0xFF00 | CCC); /* put 6 bits back into low byte of index register */
+ WriteIndex(TAG, (ReadIndex(TAG) & 0xFF00) | CCC); /* put 6 bits back into low byte of index register */
break;
}
/* if TAG == 0, fall through and treat like normal shift SLT */
@@ -814,8 +814,8 @@ t_stat sim_instr (void)
while (CCC > 0) {
xbit = (ACC & 0x0001) << 15;
abit = (ACC & 0x8000);
- ACC = (ACC >> 1) & 0x7FFF | abit;
- EXT = (EXT >> 1) & 0x7FFF | xbit;
+ ACC = ((ACC >> 1) & 0x7FFF) | abit;
+ EXT = ((EXT >> 1) & 0x7FFF) | xbit;
CCC--;
}
break;
@@ -824,8 +824,8 @@ t_stat sim_instr (void)
while (CCC > 0) {
abit = (EXT & 0x0001) << 15;
xbit = (ACC & 0x0001) << 15;
- ACC = (ACC >> 1) & 0x7FFF | abit;
- EXT = (EXT >> 1) & 0x7FFF | xbit;
+ ACC = ((ACC >> 1) & 0x7FFF) | abit;
+ EXT = ((EXT >> 1) & 0x7FFF) | xbit;
CCC--;
}
break;
|