2011-12-19 6 views
2

Я очень новичок в сборке, и я пытаюсь создать небольшую программу. Я не могу понять, как вставить разрыв строки в сборку с помощью Easy68k. Например, я начинаю писать базовый симулятор черного джек, и мне нужно сделать разрыв строки после приветствия первого игрока. Я попытался включить «\ n» в объявление переменной, но он просто распечатывается, как если бы он был частью текста.Вставьте разрыв строки в код сборки Easy 68k (68000)

В соответствии с разделом ввода-вывода Easy 68K Help, я могу использовать «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 

ответ

6

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

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

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

+1

Omg, удивительно. Благодаря!!! Для любого будущего читателя убедитесь, что вы определили CR в разделе информации как «CR EQU $ 0D; Возврат каретки» (в дополнение к LF). – kelly

+0

@kelly, хороший пункт. Я обновил ответ, чтобы сделать это более ясным. –

+0

Есть ли какая-то особая причина, по которой вам понадобится возврат каретки? Я смущен тем, что на самом деле является вагоном. Разве не будет новой линии, чтобы остановить строку и спуститься вниз? – Callat