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.md28
1 files changed, 28 insertions, 0 deletions
diff --git a/Optimizing-assembly-code.md b/Optimizing-assembly-code.md
index 51c512d..893ade2 100644
--- a/Optimizing-assembly-code.md
+++ b/Optimizing-assembly-code.md
@@ -1163,6 +1163,34 @@ But do:
ld [hld], a ; 1 bytes, 2 cycles
```
+And if you can use `a`, then don't do:
+
+```asm
+ ; 3 bytes, 5 cycles
+ ld [hl], FOO
+ inc hl
+```
+
+```asm
+ ; 3 bytes, 5 cycles
+ ld [hl], FOO
+ dec hl
+```
+
+But do:
+
+```asm
+ ; 3 bytes, 4 cycles
+ ld a, FOO
+ ld [hli], a
+```
+
+```asm
+ ; 3 bytes, 4 cycles
+ ld a, FOO
+ ld [hld], a
+```
+
## Branching (control flow)