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

Reply via email to