The differences in CPU time are so minute as to be insignificant.
The big hit is bringing the counter in and out of cache, which is the same any way you do it.
I like the last, because it is the clearest code -- the instructions correspond to what you are doing logically: setting a counter to a numeric zero.
/Charles/ On 2/9/2026 10:48 AM, David Clark wrote:
If a half-word counter has to be in storage (to save on registers) and must start at zero, which is better or which would you prefer to do as a best practice? ...simply clear storage? XC STRGLEN,STRGLEN FOR USED STRING LENGTH COUNTER ...or clear a register and save to storage? XR R5,R5 STARTING AT ZERO STH R5,STRGLEN SET USED STRING LENGTH COUNTER ...or use an immediate value and save to storage? LHI R5,0 STARTING AT ZERO STH R5,STRGLEN SET USED STRING LENGTH COUNTER Sincerely, Dave Clark -- int.ext: 91078 direct: (937) 531-6378 home: (937) 751-3300 Winsupply Group Services 3110 Kettering Boulevard Dayton, Ohio 45439 USA (937) 294-5331
-- /Charles/ +1-707-291-0908
