簡體   English   中英

以十進制顯示寄存器 - 匯編語言EASy68K

[英]Display Register in decimal - assembly language EASy68K

我試圖以十進制顯示D0,但是當我運行程序時,沒有顯示任何內容。 我沒有得到任何錯誤,當我查看寄存器D0時,我看到十六進制的預期數字,但沒有顯示十進制等效值。 我試圖使用TRAP這樣做,我們在課堂上展示。 我究竟做錯了什么? 有問題的代碼行是代碼開始的第17行。 它說“TRAP#15以十進制顯示D0”。 謝謝你的幫助。

*-----------------------------------------------------------
* Program Number: 0
* Written by    : Bryan Kriss
* Date Created  : 10/06/2013
* Description   : This program performs If-then-else statement.
*
*-----------------------------------------------------------
START   ORG $1000   Program starts at loc $1000
IF  CMP     #12,P   Is P > 12? 
    BLE     ENDIF   If P < 12, go to ENDIF
    ASL     P       Shift left
    ASL     P       Shift left
    ASL     P       Shift left
    ADD     #4,P    P + 4
    MOVE    P,D0    Move P into D0
    EXT.L   D0
    TRAP    #15     Display D0 in decimal
    STOP    #$2700   Stop execution

ENDIF   MOVE    Q,D1     Move the value of Q into D1
        SUB     D1,D0    P - D1 (P-Q)
        MOVE    D0,D1    Move P into D1

        STOP    #$2700    Stop execution
* 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

根據文檔,您需要將選擇器放在D0中,將實際值放在D1中。

更改:

MOVE    P,D0    Move P into D0
EXT.L   D0
TRAP    #15     Display D0 in decimal

至:

MOVE    P,D1    Move P into D1
EXT.L   D1
MOVE.B  #3,D0   Put required TRAP #15 selector (3) in D0
TRAP    #15     Display D0 in decimal

進一步澄清: TRAP #15是執行easy68k環境支持的各種任務的一般機制。 要指定要執行的任務,請在D0中傳遞任務選擇器 然后,根據您使用的選擇器,還需要將其他參數加載到正確的寄存器中,通常為D1A1

easy68k網站上有一個全面的選擇器列表 - 前幾個選擇器是:

TRAP #15 is used for I/O.  Put the task number in D0.

 Task
  0  Display string at (A1), D1.W bytes long (max 255) with carriage return and line feed (CR, LF). (see task 13)
  1  Display string at (A1), D1.W bytes long (max 255) without CR, LF. (see task 14)
  2  Read string from keyboard and store at (A1), NULL terminated, length retuned in D1.W (max 80)
  3  Display signed number in D1.L in decimal in smallest field. (see task 15 & 20)
  ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM