|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.11.2013, 16:49 | #1 |
Регистрация: 07.11.2013
Сообщений: 5
|
что-то выходит, но не то
Доброго времени суток, уважаемые форумчане.
Есть простая задача - вывести на экран фразу, используя алфавит. Как человек не очень оригинальный, решил вывести "Happy New Year". Вот только выводится совсем не то, что надо. Подскажите, пожалуйста, в чём мой косяк, а то в отладчике вроде бы проблему и вижу, а вот как исправить - ума не приложу. P.S. Объяснять, как пытался это реализовать, наверное, не стоит - и так всё видно. Используемый ассемблер - TASM. Код:
Последний раз редактировалось хирург-любитель; 07.11.2013 в 18:43. |
07.11.2013, 16:56 | #2 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Емнип, 09h выводит строку с адреса DS:DX и до символа "$"
т.е. оно будет выводить не одну букву, как вы того хотели, а всю строку с указанной позиции и до завершающего "$" Вам следует использовать функцию 02H, она в DL принимает код символа (одного символа) и выводит его на экран
Благодарить в репутацию. Проклинать — туда же
|
07.11.2013, 17:26 | #3 |
Регистрация: 07.11.2013
Сообщений: 5
|
Никак нет. Выводит по одной букве, так как используется промежуточный массив ch1. Проблема пока упирается в эту строку
Код:
|
07.11.2013, 17:37 | #4 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 325
|
Код:
|
07.11.2013, 17:39 | #5 | |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Тогда si нужно на 2 увеличивать, а не на единицу. В str_4 же двойные слова, т.е. по 2 байта элементы еще один inc si перед loop go наверное не помешает
Цитата:
p.s. tasm'a нет на компе, компилирую в уме => могу ошибаться p.p.s. и все-же 02H здесь подошла бы больше
Благодарить в репутацию. Проклинать — туда же
Последний раз редактировалось Luuzuk; 07.11.2013 в 17:44. |
|
07.11.2013, 17:47 | #6 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 325
|
Luuzuk, пробел к алфавиту отношения не имеет. И в таблице символов он стоит намного раньше букв.
|
07.11.2013, 17:54 | #7 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
vadimych: а вы код вообще читали, или решили с хода привнести "умную" мысль в топик? В str_4 хранятся смещения символов, которые находятся в str_3. А про таблицу символов (ascii) речь вообще никто ни вел.
Благодарить в репутацию. Проклинать — туда же
|
07.11.2013, 17:59 | #8 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 325
|
Luuzuk, да не, не читал, сразу написал. Буду знать, благодаря Вам, что пробел входит в латинский алфавит 27 символом.
|
07.11.2013, 18:03 | #9 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Не стоит благодарности, просто в следующий раз постарайтесь быть внимательнее
-- 26м, с нуля же нумерация *pardon*
Благодарить в репутацию. Проклинать — туда же
|
07.11.2013, 18:06 | #10 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 325
|
Конечно же. Последнее слово по-любому останется за Вами, знаток латинского алфавита. Я, если Вы не заметили, довёл код ТСа до рабочего состояния. Не читая.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка массива...Что та не выходит у меня.. | Pavel Lapin | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 13.11.2011 16:57 |
Не выходит из цикла | RIO | Общие вопросы по Java, Java SE, Kotlin | 3 | 23.05.2010 23:54 |
при запуске винды какой-то синий экран с какими-то словами выходит и всё. Что за беда? | SergeyPerm | Windows | 11 | 08.02.2009 18:30 |
компилировать не выходит | 3.14oner | Общие вопросы по Java, Java SE, Kotlin | 5 | 08.11.2008 18:36 |
Что то не выходит на Паскале | Bagsi | Помощь студентам | 4 | 14.11.2007 15:26 |