飽和加算

前提:

  • 255で飽和
  • r24,r25に値が入っている
  • 結果をr24に返す
  • r25の値は壊れてよい
add r24,r25
sbc r25,r25
or  r24,r25

これを下記のようにすると、r25を壊さずに済む代わりにr24のところはr16〜r31にしか出来なくなる

add r24,r25
brcc LABEL
ldi r24,0xff
LABEL:

減算は素直に分岐でいいっぽい?

sub r24,r25
brcc LABEL
eor r24,r24
LABEL:

2018/07/17追記

加算はこれのが良かったかな

add r24,r25
brcc LABEL
sbc r24,r24
LABEL: