ROPについては、このペーパーを参照してください
AVR-8bitのガジェットカタログを作っているのですが、ちょっと疑問があります。次の例を使用して質問します。
v1=v1+v2 にするために; (v1 と v2 は変数です) 対応するアセンブリは次のとおりです。
ldi r17, #value
ldi r18, #value
add r18,r17;
また
ldi r17, #value
mov r1, r17;
ldi r18, #value
add r18,r1;
また
ldi r17, #value
ldi r18, #value
mov r1, r18;
add r1,r17;
また
ldi r17, #value
mov r1, r17;
ldi r18, #value
mov r2, r18;
add r2,r1;
ガジェットは以下になりますか?
ldi r#, #value;
ldi r#, value;
add r#, r#;
ret
または単に以下と組み合わせてldi r#,r#; ret
、 と組み合わせてmov
?
add r#,r#;
ret