自己修正コード - OLDINSTR_2()
概要
命令に必要なサイズ分のアドレスを確保する
詳細
以下の引数を受け取る
- 置換元となる命令を示す文字列 : oldinstr
- 置換する命令1の番号を示す : num1
- 置換する命令2の番号を示す : num2
alt_rlen()にnum1とnum2を引数として実行し、命令1と命令2の命令が配置されるアドレスのサイズをそれぞれ取得する
次に取得した値の最大値をalt_max_short()から算出し、この値が置換元の命令のサイズを示すalt_slenのサイズと比較する
比較した結果、置換する命令のサイズの最大値が元の命令のサイズよりも大きい場合2つのサイズの差のサイズ分、スペースをNOP命令*1で埋める
最後にalt_end_markerで命令終了のシンボルを付加する