選択およびループ構造のマシンレベルの表現

  • if-else の 2 つのマシンレベル表現

1
条件分岐命令と無条件分岐命令の区別に注意する

  • スイッチケースのマシンレベルの表現

2
ここでのマシンレベルのコードは、まず a>17 かつ a<10 の場合にデフォルトの状況を判断し、次に 10 から 17 までがジャンプ テーブルを参照します。ジャンプ テーブルはターゲット ファイルの読み取り専用セクションにあり、4 番目に整列されています。 -byte 境界。
ただし、より大きなスコープを持つ switch-case ステートメントには適用されません

  • ループ構造のマシンレベルの表現

3

  • ループと再帰

4
5

呼び出されたプロシージャ保存レジスタはプロシージャ本体では使用されません。したがって、このプロセスのスタック フレームで予約する必要があるのは EBP のみです。
つまり、そのスタック フレームは 4 バイトのスペースのみを占有します。スタック フレームが 16B にアライメントされている場合、16 バイトのみが使用されますが、再帰的メソッドでは 16n が使用されます
。バイト、つまり n 関係が 2 倍になります。各再帰呼び出しで 16 個の命令が実行され、
合計で n 個以上のプロシージャ呼び出しがあるため、再帰メソッドは循環メソッドより少なくとも 16n 個多くの命令を実行します。
このことから、プログラムのパフォーマンスを向上させるには、非再帰的に実行できる場合は非再帰的メソッドを使用するのが最適であることがわかります。


参考: NTU コンピュータ システムの基礎 (1)

おすすめ

転載: blog.csdn.net/weixin_61631200/article/details/127422774