summaryrefslogtreecommitdiff
path: root/Optimizing-assembly-code.md
diff options
context:
space:
mode:
Diffstat (limited to 'Optimizing-assembly-code.md')
-rw-r--r--Optimizing-assembly-code.md9
1 files changed, 9 insertions, 0 deletions
diff --git a/Optimizing-assembly-code.md b/Optimizing-assembly-code.md
index 107dbd9..dd46669 100644
--- a/Optimizing-assembly-code.md
+++ b/Optimizing-assembly-code.md
@@ -141,6 +141,15 @@ But do:
```asm
; 5 bytes, 5 cycles
sbc a ; if carry, then $ff, else 0
+ and ONE - TWO ; $ff becomes ONE - TWO, 0 stays 0
+ add TWO ; ONE - TWO becomes ONE, 0 becomes TWO
+```
+
+Or do:
+
+```asm
+ ; 5 bytes, 5 cycles
+ sbc a ; if carry, then $ff, else 0
and ONE ^ TWO ; $ff becomes ONE ^ TWO, 0 stays 0
xor TWO ; ONE ^ TWO becomes ONE, 0 becomes TWO
```