2017-11-04 87 views
-1

好的,這裏是傢伙。在你之前,我有一個執行這個算法的程序: 「IF X> 12 THEN X = 2 * X + 4 ELSE X = X + Y,OUTPUT X.」編輯我的Easy68k(程序集)程序來減去而不是添加

問題是,我需要它來執行這個代替: 「IF X> 12 THEN X = 2 * X + 4 ELSE X = X - 13,OUTPUT X.」

我該如何減去而不是添加?

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

您的代碼將是* *很多更具可讀性,如果你縮進相對於標籤的說明。在每個塊之前也留空白。 –

回答

0

不能測試,但嘗試更換

ADD Y, D3 

隨着

SUB Y, D3 
相關問題