projects
/
simavr
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6b34bed
)
core: Fixes SBCI
author
Michel Pollet
<buserror@gmail.com>
Wed, 14 Apr 2010 19:42:46 +0000
(20:42 +0100)
committer
Michel Pollet
<buserror@gmail.com>
Wed, 14 Apr 2010 19:42:46 +0000
(20:42 +0100)
Thanks to <evgeny.chukreev@gmail.com>
Signed-off-by: Michel Pollet <buserror@gmail.com>
simavr/sim/sim_core.c
patch
|
blob
|
history
diff --git
a/simavr/sim/sim_core.c
b/simavr/sim/sim_core.c
index
1ccae6b
..
3901ede
100644
(file)
--- a/
simavr/sim/sim_core.c
+++ b/
simavr/sim/sim_core.c
@@
-707,7
+707,8
@@
uint16_t avr_run_one(avr_t * avr)
uint8_t res = vr - k - avr->sreg[S_C];
STATE("sbci %s[%02x], 0x%02x = %02x\n", avr_regname(r), avr->data[r], k, res);
_avr_set_r(avr, r, res);
- avr->sreg[S_Z] = res == 0;
+ if (res)
+ avr->sreg[S_Z] = 0;
avr->sreg[S_N] = (res >> 7) & 1;
avr->sreg[S_C] = (k + avr->sreg[S_C]) > vr;
avr->sreg[S_S] = avr->sreg[S_N] ^ avr->sreg[S_V];