2

私はアセンブリが初めてで、小さなプログラムを作成しようとしています。Easy68k を使用してアセンブリに改行を挿入する方法がわかりません。たとえば、私は基本的なブラック ジャック シミュレーターを書き始めており、最初のプレーヤーに挨拶した後に改行を行う必要があります。変数宣言に「\n」を組み込んでみましたが、テキストの一部であるかのように出力されてしまいます。

Easy 68K ヘルプの I/O セクションによると、「LF EQU $0A New line (改行)」を使用できますが、これを実装する方法がわかりません。

START   ORG        $400             ; Start of program area
    CLR.L      D0               ; Clear D0
    CLR.L      D1               ; Clear D1
    CLR.L      D2               ; Clear D2
    CLR.L      D3               ; Clear D3
    CLR.L      D4               ; Clear D4
    CLR.L      D5               ; Clear D5
    CLR.L      D6               ; Clear D6
    MOVE.L     playerTotal, D2  ; Store Player total in D1
    MOVE.L     card, D3         ; Store current card in D2
    MOVE.B     playerAce, D4    ; Store number of aces player has in D3
    MOVE       #14, D0      
    LEA        playerGreeting, A1   ; Load Player Greeting in A1
    TRAP       #15              ; Display Player Greeting
* insert line break     
    STOP       #$2700  ; Stop execution

        ORG         $1000   ;Start of data area
playerTotal DS.L        1       ; Save 1 byte of memory for playerTotal
dealerTotal DS.L        1       ; Save 1 byte of memory for dealerTotal
card        DC.L        5       ; Save 1 byte of memory for card dealt
keepPlaying DS.B        1       ; Save 1 byte of memory for Play again value
playerAce   DS.B        1       ; Save 1 byte of memory to track player Aces
playerGreeting  DC.B        'Hello Player 1!', 0    ; Message 

                LF        EQU       $0A
                END     START                  ; End of program and entry point
4

1 に答える 1

6

これを試して:

CR EQU $0D
LF EQU $0A
playerGreeting  DC.B        'Hello Player 1!',CR,LF,0    ; Message

これにより、メッセージの後にキャリッジリターン(CR)とラインフィード(LF)が挿入されます。基本的に、nullターミネータ(0)の前の出力文字列に2つの追加文字を追加します。

于 2011-12-19T19:17:26.570 に答える