Вставить разрыв строки в код сборки Easy 68k (68000) - PullRequest
2 голосов
/ 19 декабря 2011

Я очень новичок в сборке и пытаюсь создать небольшую программу.Я не могу понять, как вставить разрыв строки в сборку, используя Easy68k.Например, я начинаю писать базовый симулятор Блэк Джек, и мне нужно сделать разрыв строки после приветствия первого игрока.Я попытался включить "\ n" в объявление переменной, но он просто печатает, как если бы он был частью текста.

Согласно разделу ввода-вывода справки Easy 68K, я могу использовать «LF EQU $ 0A Новая строка (перевод строки)», но я не знаю, как это реализовать.

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

1 Ответ

6 голосов
/ 19 декабря 2011

Попробуйте это:

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

После вашего сообщения будут вставлены возврат каретки (CR) и перевод строки (LF). По сути, он привязывает два дополнительных символа к вашей выходной строке перед нулевым терминатором (0).

...