0

私はアセンブリ言語に慣れていないので、最初のプログラムで少し問題があります。明らかにアセンブリ言語を除いて、基本的に次のコードを再作成することになっています。エラーを修正し、プログラムを正しく動作させるのを手伝ってくれる人はいますか? 私は近いと思います。

元の非アセンブリ コード:

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: 無効なアドレッシング モード

4

1 に答える 1