68K装配数学公式

时间:2018-04-25 09:42:32

标签: 68000 easy68k

我需要用68k汇编语言编写一些数学公式:

的x ^ 2-5x + 6

我想用ADD和SUB命令来做,然后以某种方式移动我无法定义变量x它说它是一个未定义的符号而我实际上无法意识到我的问题所在。

ORG    $1000
START:                  ; first instruction of program

MOVE    X*X, D0
MOVE    (-5X),D2  
MOVE    6,D3 
ADD     D0, D3
SUB     D2, D1



SIMHALT

错误: 第10行语法无效 第11行语法无效

1 个答案:

答案 0 :(得分:1)

这样的事情,假设基本是68000(而不是68020或更好)。

你可能必须解决诸如X是单词还是长单词之类的问题,并且因为我做68k汇编程序已经很长时间才处理签名扩展等问题。 X最后被定义为一个单词常量。

ORG    $1000
START:                  ; first instruction of program
    CLR.L  D7        ; Clear D0 - alternatively MOVEQ #0,D0
    MOVE.W X,D7      ; Read X

    ; Output initial value...
    LEA    S1,A1
    MOVE.W #255,D1
    MOVE.L D7,D1
    MOVEQ  #17,D0
    TRAP   #15

    LEA    SNUL,A1
    MOVEQ  #13,D0
    TRAP   #15

    MOVE.L D7,D6     ; copy of X
    ASL.L  #2,D6     ; Multiply by 4
    ADD.L  D7,D6     ; 4X plus another X = 5X
    MULU.W D7,D7     ; X^2  
    SUB.L  D6,D7     ; Subtract 5X from X^2
    ADDQ.L #6,D7     ; plus 6

    ; Output answer...
    LEA    S2,A1
    MOVE.L D7,D1
    MOVEQ  #17,D0
    TRAP   #15

    SIMHALT             ; halt simulator

* Put variables and constants here
S1:   DC.B 'Initial :',0
S2:   DC.B 'Answer  :',0
SNUL: DC.B 0
X:     DC.W 1234    ; Initial (fixed) value of X

END    START        ; last line of source