mov dptr,#0x0000
}
+replace {
+ mov dpl,#%1
+ mov dph,#(%1 >> 8)
+ mov dpx,#(%1 >> 16)
+} by {
+ ; Peephole 182b used 24 bit load of DPTR
+ mov dptr,#%1
+}
+
// saves 2 bytes, ?? cycles.
replace {
mov dpl,#%1
- mov dph,#(%1 >> 8)
- mov dpx,#(%1 >> 16)
+ mov dph,#%2
+ mov dpx,#%3
} by {
; Peephole 182a used 24 bit load of dptr
- mov dptr,#%1
+ mov dptr,#((%3 << 16) + (%2 << 8) + %1)
} if 24bitMode
// saving 3 byte, 2 cycles, return(float_constant) profits here
replace {
mov dps, #0x00
- mov dp%1,a
+ mov %1,a
mov dps, #0x01
} by {
; Peephole 222 removed DPS abuse.
- mov dp%1,a
+ mov %1,a
+ mov dps, #0x01
+}
+
+replace {
+ mov dps, #0x00
+ xch a, ap
+ mov %1, ap
+ mov dps, #0x01
+} by {
+ ; Peephole 222a removed DPS abuse.
+ xch a, ap
+ mov %1, ap
mov dps, #0x01
}
+
+replace {
+ mov dps, #0x%1
+ inc dptr
+ movx a,@dptr
+ mov %2,a
+ mov dps, #0x%1
+} by {
+ mov dps, #0x%1
+ inc dptr
+ movx a,@dptr
+ mov %2,a
+; Peephole 223: yet more DPS abuse removed.
+}
+
+replace {
+ mov dps, #0x00
+ inc dps
+} by {
+ mov dps, #0x01
+}
+
+replace {
+ mov dps, #0x0%1
+ mov dptr, %2
+ mov dps, #0x0%1
+} by {
+ mov dps, #0x0%1
+ mov dptr, %2
+}
+
+replace {
+ mov dps, #0x01
+ mov dptr, %1
+ mov dps, #0x00
+ mov dptr, %2
+ inc dps
+} by {
+ mov dps, #0x00
+ mov dptr, %2
+ inc dps
+ mov dptr, %1
+; Peephole 224a: DPS usage re-arranged.
+}
+
+replace {
+ mov dps, #0x0%1
+ mov dptr, %2
+ mov dps, #0x0%3
+ mov dptr, %4
+ mov dps, #0x0%1
+} by {
+ mov dps, #0x0%3
+ mov dptr, %4
+ mov dps, #0x0%1
+ mov dptr, %2
+; Peephole 224: DPS usage re-arranged.
+}
+
+replace {
+ mov dps, #0x01
+ mov dptr, %1
+ mov dps, #0x00
+} by {
+ mov dps, #0x01
+ mov dptr, %1
+ dec dps
+}
+
+replace {
+ xch a, ap
+ add a, ap
+} by {
+ add a, ap
+}
+
+replace {
+ xch a, ap
+ addc a, ap
+} by {
+ addc a, ap
+}