アセンブリ言語に関してかなり簡単な質問があります。SIC/XE アーキテクチャは、基本的に教育目的でのみ使用されますが、他のアーキテクチャの一般的な規則に従っています。さて、私の質問と答えについての最初の考えです。
シンボル ALPHA と BETA がソース プログラムのラベルであると仮定します。次の 2 つの一連のステートメントの違いは何ですか?
A.) LDA ALPHA-BETA
B.) LDA ALPHA
SUB BETA
わかりやすくするために、LDA は算術演算に使用されるレジスタ A にデータをロードします。また、ここに示す SUB や ADD などの演算は、デフォルトでレジスタ A を宣言しなくても機能します。
さて、一見すると、A と B の両方が同等であると想定しています。私の論理は非常に簡単です。A に ALPHA と BETA の差をロードするか、A に ALPHA をロードしてから、レジスタ A の ALPHA から BETA を減算します。まったく同じことを達成しているように見えるのはどれですか? 些細な詳細が欠けていますか、それとも見た目ほど単純ですか?