8086 マイクロプロセッサーにおけるニアプロシージャとファープロシージャの違いは何ですか?
- ターゲット プロシージャまたはジャンプ アドレスが現在のコード セグメント内にある場合、ニア プロシージャ コールまたはジャンプが使用されます。
- オフセット、つまりコード セグメントの先頭からの距離は、16 ビット ディスプレイスメントでエンコードされます。
- Near メソッドでは、単一の機械命令による 64K コード セグメント内でのプロシージャ/ジャンプ呼び出しが可能です。
遠い手順:
- far プロシージャ呼び出しまたはジャンプは、ターゲット アドレスが現在のセグメントとは異なるセグメントにある場合に使用されます。
- 16 ビットのセグメント値と 16 ビットのオフセット ディスプレイスメントが含まれており、任意のメモリ位置でプロシージャ/ジャンプ アドレスの呼び出しが可能です。
- Far プロシージャ/ジャンプ呼び出しには 2 つの命令が必要です。最初の命令ではセグメントをセグメント アドレス レジスタ (DS/CS/SS/ES) にロードし、2 番目の命令にはオフセット アドレスを指定した Jump Near コマンドが含まれます。
概要表
|特集 | 近い手順 | 遠い手順 |
|:---|:---|:---|
|範囲 | 同じコードセグメント内 | 異なるコードセグメント間 |
|変位の大きさ | 16 ビット ディスプレイスメント | 16 ビット セグメント + 16 ビット ディスプレースメント |
|命令の数 | 1 命令 | 2 命令 (1 つはセグメントロード用、もう 1 つはジャンプニア用) |