私はアセンブリ言語に慣れていないので、最初のプログラムで少し問題があります。明らかにアセンブリ言語を除いて、基本的に次のコードを再作成することになっています。エラーを修正し、プログラムを正しく動作させるのを手伝ってくれる人はいますか? 私は近いと思います。
元の非アセンブリ コード:
Q = 7;
P = 15; // also test on P = 14 and P = 6
if (P > 12)
P = 8 * P + 4; // Requirement: use ASL for multiplied by 8
else
P = P - Q;
print P;
ここに私がこれまでに持っているものがありますが、エラーが発生しています。エラーを一番下に掲載します。
START ORG $1000 //Program starts at loc $1000
IF CMP #12,P //Is P > 12?
BLE ENDIF //If P < 12, go to ENDIF
ASL #3,P //Shift left 3 times (Multiply P * 8)
ADD #4,P //P + 4
ENDIF SUB Q,P //P - Q
* Data section
ORG $2000 //Data starts at loc 2000
P DC.W 15 //int P = 15;
Q DC.W 7 //int Q = 7;
END START
4 行目: ERROR: 無効なアドレッシング モード 7 行目: ERROR: 無効なアドレッシング モード