* as/z80/z80mch.c: fixed bug #1704376: missing as-z80 errors
authorborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 23 Feb 2009 22:05:06 +0000 (22:05 +0000)
committerborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 23 Feb 2009 22:05:06 +0000 (22:05 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@5388 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
as/z80/z80mch.c

index 4717f92ea641208a49d9f6df8400b3b6aac38c81..ab0d8b328e78712858c8bf3ba2e31a82183a4b22 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
 
        * as/z80/asexpr.c: fixed bug #1829678: Z-80 CP A,<xxx> assembly
          it is already fixed for mcs51 and hc08 targets
+       * as/z80/z80mch.c: fixed bug #1704376: missing as-z80 errors
 
 2009-02-22 Borut Razem <borut.razem AT siol.net>
 
index 9a8014f537bfc0ecaa50288c30a17eb080684b1d..d9609938b46d64a929deef2f4677a141dc7a661d 100644 (file)
@@ -549,10 +549,16 @@ struct mne *mp;
        case S_DJNZ:
        case S_JR:
                if ((v1 = admode(CND)) != 0 && rf != S_DJNZ) {
+                       if ((v1 &= 0xFF) <= 0x18 && v1 != PO && v1 != PE && v1 != P && v1 != M) {
+                               op += (v1+1)<<3;
+                       } else {
+                               aerr();
+                       }
+                       comma();
+               }
 #else /* GAMEBOY */
        case S_JR:
                if ((v1 = admode(CND)) != 0) {
-#endif /* GAMEBOY */
                        if ((v1 &= 0xFF) <= 0x18) {
                                op += (v1+1)<<3;
                        } else {
@@ -560,6 +566,7 @@ struct mne *mp;
                        }
                        comma();
                }
+#endif /* GAMEBOY */
                expr(&e2, 0);
                outab(op);
                if (e2.e_base.e_ap == NULL || e2.e_base.e_ap == dot.s_area) {