diff options
Diffstat (limited to 'Optimizing-assembly-code.md')
-rw-r--r-- | Optimizing-assembly-code.md | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/Optimizing-assembly-code.md b/Optimizing-assembly-code.md index 8d9f3ab..1f1a46b 100644 --- a/Optimizing-assembly-code.md +++ b/Optimizing-assembly-code.md @@ -1089,44 +1089,44 @@ Don't do: ```asm ; 8 bytes, 8 cycles - ld a, e + ld a, l adc 0 - ld e, a - ld a, d + ld l, a + ld a, h adc 0 - ld d, a + ld h, a ``` ```asm ; 8 bytes, 8 cycles - ld a, e + ld a, l sbc 0 - ld e, a - ld a, d + ld l, a + ld a, h sbc 0 - ld d, a + ld h, a ``` And don't do: ```asm ; 7 bytes, 7 cycles - ld a, e + ld a, l adc 0 - ld e, a - adc d - sub e - ld d, a + ld l, a + adc h + sub l + ld h, a ``` ```asm ; 7 bytes, 7 cycles - ld a, e + ld a, l sbc 0 - ld e, a - sbc d - add e - ld d, a + ld l, a + sbc h + add l + ld h, a ``` (That would be applying the "[Set `a` to some value plus or minus carry](#set-a-to-some-value-plus-or-minus-carry)" optimization to part of the first way.) @@ -1135,21 +1135,21 @@ And don't do: ```asm ; 7 bytes, 7 or 8 cycles - ld a, e + ld a, l adc 0 - ld e, a + ld l, a jr nc, .no_carry - inc d + inc h .no_carry ``` ```asm ; 7 bytes, 7 or 8 cycles - ld a, e + ld a, l sbc 0 - ld e, a + ld l, a jr nc, .no_carry - dec d + dec h .no_carry ``` @@ -1160,14 +1160,14 @@ But do: ```asm ; 3 bytes, 4 or 5 cycles jr nc, .no_carry - inc de + inc hl .no_carry ``` ```asm ; 3 bytes, 4 or 5 cycles jr nc, .no_carry - dec de + dec hl .no_carry ``` |