-3

我必须做一个家庭作业,其中程序将从键盘接收 2 个数字并将它们相加和相乘,但我不知道如何。到目前为止,我已经这样做了:

  ORG    $1000
START: 
    LEA INPUT, A1               
    MOVE.B #14, D0
    TRAP #15
    
    MOVE.B #4, D0
    TRAP #15
            
    JSR SHOWNEWLINE
    
    LEA INPUT, A1              
    MOVE.B #14, D0
    TRAP #15
    
    MOVE.B #4, D0
    TRAP #15
    
    JSR SHOWNEWLINE

    ADDX D0, D0
    MOVE.B #14, D5
    TRAP #15
    
    SIMHALT
    
SHOWNEWLINE:
    LEA NEWLINE, A3
    MOVE.B #0, D1
    MOVE.B #0, D0
    TRAP #15
    RTS
    
INPUT DC.B 'Enter numbers', 0
NEWLINE DC.B ''    
  
    END START

它应该在 EASy68K 模拟器中完成。

谢谢!

4

1 回答 1

0

我的截止日期是午夜,所以我必须找到解决方案。由于在讲座中没有向我们解释如何使用EASy86k,我试图在这里寻求帮助。我希望这可以帮助初学者。

    ORG    $1000
START: 
    LEA INPUT1, A1
    MOVE.B #14, D0
    MOVE.B #14, D1
    TRAP #15

    MOVE.B #4, D0
    TRAP #15

    MOVE.B D1, D2
            
    LEA INPUT2, A1 
    MOVE.B #14, D0
    MOVE.B #14, D1
    TRAP #15
              
    MOVE.B #4, D0
    TRAP #15

    MOVE.B D1, D3

    JSR SHOWNEWLINE

    LEA SUM, A1 
    MOVE.B #14, D0
    MOVE.B #14, D1
    TRAP #15

    MOVE.B D2, D4
    ADDX D3,D4
    MOVE.B D4, D1
    MOVE.B #3, D0
    TRAP #15

    JSR SHOWNEWLINE

    LEA MULTIPLICATION, A1 
    MOVE.B #14, D0
    MOVE.B #14, D1
    TRAP #15

    MOVE.B D2, D5
    MULS D3,D5
    MOVE.B D5, D1
    MOVE.B #3, D0
    TRAP #15

    SIMHALT

SHOWNEWLINE:
    LEA NEWLINE, A3
    MOVE.B #0, D1
    MOVE.B #0, D0
    TRAP #15
    RTS

INPUT1 DC.B 'Enter 1st number: ', 0
INPUT2 DC.B 'Enter 2nd number: ', 0
SUM DC.B 'Sum: ', 0
MULTIPLICATION DC.B 'Multiplication: ', 0
NEWLINE DC.B ''    

    END START
    
于 2021-03-12T19:07:45.050 回答