diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2021-03-16 21:23:54 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2021-03-16 21:23:54 -0400 |
commit | 84394965c044082c8708767e358ab55dda4b1916 (patch) | |
tree | 031d4201700ac7046cf64d2e66041caf760c668a /Optimizing-assembly-code.md | |
parent | 7a7372b6603295e89196086ddbef993614434e01 (diff) |
ld [hl], FOO / inc|dec hl -> ld a, FOO / ld [hli|hld], a
Diffstat (limited to 'Optimizing-assembly-code.md')
-rw-r--r-- | Optimizing-assembly-code.md | 28 |
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) |