2016-03-08 8 views
0

Я пытаюсь написать программу на ассемблере, которая печатает первое имя - например, Томас. Предполагается использовать псевдо-операцию .ASCII для хранения символов внизу программы и инструкции CHARO для вывода символов. Когда я смотрю пример в учебнике:Язык программы для печати для печати Имя

;Stan Warford 

;January 13, 2009 

;A program to output "Hi" 

; 

CHARO 0x0007,d ;Output 'H' 

CHARO 0x0008,d ;Output 'i' 

STOP 

.ASCII "Hi" 

.END 

Это выводит «Привет» правильно. Однако, когда я пытаюсь написать программу, которая выводит
Томас, это не работает. Что у меня есть:

CHARO  0x0004 ,d ;output T 
CHARO  0x0005 ,d ;output h 
CHARO  0x0006 ,d ;output o 
CHARO  0x0007 ,d ;output m 
CHARO  0x0008 ,d ;output a 
CHARO  0x0009 ,d ;output s 
STOP 
.ASCII  "Thomas" 
.END 

Когда я запускаю это, на экран ничего не выводится. Я пытаюсь запустить это на Pep/8 simulator. Я пропустил что-то действительно очевидное здесь? Есть ли конкретное шестнадцатеричное значение, которое мне нужно начинать с использования команд CHARO - например, 0x0007? Заранее спасибо за совет.

ответ

0

Это правильно код, используя имя «Миранда» в качестве примера:

CHARO 0x0016 ,d ;output M 
    CHARO 0x0017 ,d ;output i 
    CHARO 0x0018 ,d ;output r 
    CHARO 0x0019 ,d ;output a 
    CHARO 0x001a ,d ;output n 
    CHARO 0x001b ,d ;output d 
    CHARO 0x001c ,d ;output a 
    STOP 
    .ASCII "Miranda" 
    .END 
1

Я никогда не использовал pep8, но согласно документации, эти варианты будут работать:

CHARO  0x0013,d 
CHARO  0x0014,d 
CHARO  0x0015,d 
CHARO  0x0016,d 
CHARO  0x0017,d 
CHARO  0x0018,d 
STOP 
.ASCII  "Thomas" 
.END 

или:

CHARO 'T',i 
CHARO 'h',i 
CHARO 'o',i 
CHARO 'm',i 
CHARO 'a',i 
CHARO 's',i 
STOP 

.END 

или

STRO msg,d 
STOP 
msg: .ASCII "Thomas\x00" 
.END 
+0

Спасибо за это. Возможно, здесь есть немой вопрос ... но для первого варианта, который вы предложили, почему он должен начинаться с 0x0010, d? – ComputerScientist123

+0

0x10 - это адрес первой буквы 'T' –

+0

Я пробовал его на симуляторе, и он печатает только' Tho'. Очень странно. – ComputerScientist123

 Смежные вопросы

  • Нет связанных вопросов^_^