2017-11-04 3 views
-1

Ok、ここはみんなです。あなたの前に、私はこのアルゴリズムを実行するプログラムを持っています: "IF X> 12それからX = 2 * X + 4 ELSE X = X + Y、OUTPUT X" "IF X> 12 THEN X = 2 * X + 4 ELSE X = X-13、OUTPUT X"この問題を解決するには、私のEasy68k(アセンブリ)プログラムを編集して、加算の代わりに減算する

この減算をどのように追加するのですか?

ORG $1000 
START: LEA PROMPT, A1 
MOVE.B #14, D0 
TRAP #15 
MOVE.B #4, D0 
TRAP #15 
MOVE D1, D3 
LEA STTY, A1 
MOVE.B #14, D0 
TRAP #15 
CMP #12, D3 
BGT MULTADD 
CMP #12, D3 
BRA ADDY 
MULTADD LEA XGT, A1 
MOVE.B #14, D0 
TRAP #15 
LEA TWOXP4, A1 
MOVE.B #14, D0 
TRAP #15 
MULU #2, D3 
ADD #4, D3 
MOVE D3, D1 
MOVE.B #3, D0 
TRAP #15 
BRA FIN 
ADDY LEA XLT, A1 
MOVE.B #14, D0 
TRAP #15 
LEA XPY, A1 
MOVE.B #14, D0 
TRAP #15 

ADD Y, D3 
MOVE D3, D1 
MOVE.B #3, D0 
TRAP #15 
BRA FIN 
FIN MOVE.B #9,D0 
TRAP #15 
* Variables and Strings 
PROMPT DC.B ';Enter X: ';, 0 
STTY DC.B ';Y = 4';, CR, LF, 0 
XGT DC.B 'X > 12';, CR, LF, 0 
XLT DC.B 'X != 12';, CR, LF, 0 
TWOXP4 DC.B 2 * X + 4 = ';, CR, LF, 0 
XPY DC.B 'X + Y = ';, 0 
Y DC.W 4 
CR EQU $0D 
LF EQU $0A 

END START 
+0

ADD Y, D3 

を交換しようとすることはできません。また、各ブロックの前に空白を残しておきます。 –

答えて

0

はそれをテストしていますが、ラベルに関連した命令をインデント場合はあなたのコードは*ずっと*読みやすくなり

SUB Y, D3 
関連する問題