Difference between revisions of "Z80 Routines:Optimized:addAtoHL"
From WikiTI
m |
m |
||
Line 3: | Line 3: | ||
This is an optimized addAtoHL because it is a little faster and doesn't need other 16-bit register. | This is an optimized addAtoHL because it is a little faster and doesn't need other 16-bit register. | ||
+ | |||
Also it can be changed to add A to any 16-bit register. The only down is 1 extra byte. | Also it can be changed to add A to any 16-bit register. The only down is 1 extra byte. | ||
+ | |||
Use it as a subroutine (don't forget the ret) or a macro. | Use it as a subroutine (don't forget the ret) or a macro. | ||
Revision as of 06:53, 5 November 2009
This is an optimized addAtoHL because it is a little faster and doesn't need other 16-bit register.
Also it can be changed to add A to any 16-bit register. The only down is 1 extra byte.
Use it as a subroutine (don't forget the ret) or a macro.
Normal way:
ld d,$00 ld e,a add hl,de ;4 bytes and 22 clock cycles
addAtoHL: add a,l ld l,a adc a,h ;^ this two line sub l ;v increase h if there is carry ld h,a ;5 bytes and 20 clock cycles ;but no other 16-bit register pair messed
Thanks to CoBB.