;unknown author, please step forward comf var,f ;Complement all bytes comf var+1,f comf var+2,f comf var+3,f incf var,f ;Inc. low byte always skpnz ;Skip if no carry to higher bytes incf var+1,f ;Carry to next byte skpnz incf var+2,f skpnz incf var+3,f
Regulus Berdin says: This reduces the number of execution cycles if some bytes are zero and called as subroutine.
negate: comf var,f comf var+1,f ... incfsz var,f return incfsz var+1,f return ... incf var+N,f return