1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-10 23:29:05 +00:00

Fixed a bug

git-svn-id: svn://svn.cc65.org/cc65/trunk@2688 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2003-11-27 20:43:37 +00:00
parent 20582afca5
commit 614d23b53a

View File

@ -7,7 +7,7 @@
/* */
/* */
/* (C) 2001-2003 Ullrich von Bassewitz */
/* Römerstrasse 52 */
/* Römerstraße 52 */
/* D-70794 Filderstadt */
/* EMail: uz@cc65.org */
/* */
@ -1322,13 +1322,25 @@ unsigned OptPrecalc (CodeSeg* S)
switch (E->OPC) {
case OP65_LDA:
case OP65_LDX:
case OP65_LDY:
if (E->AM == AM65_IMM) {
/* If we do already have an immediate load, bail out */
break;
if (E->AM != AM65_IMM && RegValIsKnown (Out->RegA)) {
/* Result of load is known */
Arg = MakeHexArg (Out->RegA);
}
/* FALLTHROUGH */
break;
case OP65_LDX:
if (E->AM != AM65_IMM && RegValIsKnown (Out->RegX)) {
/* Result of load is known */
Arg = MakeHexArg (Out->RegX);
}
break;
case OP65_LDY:
if (E->AM != AM65_IMM && RegValIsKnown (Out->RegY)) {
/* Result of load is known */
Arg = MakeHexArg (Out->RegY);
}
break;
case OP65_ADC:
case OP65_ASL:
@ -1336,7 +1348,7 @@ unsigned OptPrecalc (CodeSeg* S)
case OP65_LSR:
case OP65_SBC:
if (RegValIsKnown (Out->RegA)) {
/* Accu AND zp with known contents */
/* Accu op zp with known contents */
Arg = MakeHexArg (Out->RegA);
}
break;