+ /* Get the length of the argument */
+ unsigned NLen = strlen (N->Arg);
+
+ /* What to check for? */
+ enum {
+ None = 0x00,
+ Base = 0x01, /* Check for location without "+1" */
+ Word = 0x02, /* Check for location with "+1" added */
+ } What = None;
+
+
+ /* If the argument of N is a zero page location that ends with "+1", we
+ * must also check for word accesses to the location without +1.
+ */
+ if (N->AM == AM65_ZP && NLen > 2 && strcmp (N->Arg + NLen - 2, "+1") == 0) {
+ What |= Base;
+ }
+
+ /* If the argument is zero page indirect, we must also check for accesses
+ * to "arg+1"
+ */
+ if (N->AM == AM65_ZP_INDY || N->AM == AM65_ZPX_IND || N->AM == AM65_ZP_IND) {
+ What |= Word;
+ }
+