Browse code

Made pop16 more robust

neauoire authored on 16/07/2021 02:52:37
Showing 1 changed files
... ...
@@ -25,7 +25,7 @@ Uint8  mempeek8(Uint8 *m, Uint16 a) { return m[a]; }
25 25
 void   devpoke8(Device *d, Uint8 a, Uint8 b) { d->dat[a & 0xf] = b; d->talk(d, a & 0x0f, 1); }
26 26
 Uint8  devpeek8(Device *d, Uint8 a) { d->talk(d, a & 0x0f, 0); return d->dat[a & 0xf];  }
27 27
 void   push16(Stack *s, Uint16 a) { push8(s, a >> 8); push8(s, a); }
28
-Uint16 pop16(Stack *s) { return pop8(s) + (pop8(s) << 8); }
28
+Uint16 pop16(Stack *s) { Uint8 a = pop8(s), b = pop8(s); return a + (b << 8); }
29 29
 void   mempoke16(Uint8 *m, Uint16 a, Uint16 b) { mempoke8(m, a, b >> 8); mempoke8(m, a + 1, b); }
30 30
 Uint16 mempeek16(Uint8 *m, Uint16 a) { return (mempeek8(m, a) << 8) + mempeek8(m, a + 1); }
31 31
 void   devpoke16(Device *d, Uint8 a, Uint16 b) { devpoke8(d, a, b >> 8); devpoke8(d, a + 1, b); }