Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [Assembler] Перевод числа в строку |
Автор: Trishi 5.5.2007, 19:33 |
Тут такое дело. Семестр уже к концу подходит, а ассемблер как был не понятен в начале, так и сейчас смутно с ним. ![]() Вот задачка: "Задать целое число в регистре. Написать программу на ассемблере, которая преобразует данное число в текстовую строку (в десятичной системе) и выведет его на терминал. Число должно быть: целое 1 байт без знака." Если можно, напишите ее плиз, и с пояснениями, потому что разобраться все-таки хочется. ![]() P.S. Теперь я тему правильно создала - надеюсь, кто-то поможет. |
Автор: anwe 5.5.2007, 20:51 | ||
|
Автор: Trishi 5.5.2007, 21:19 |
У меня при команде линк выдается ворнинг: no stack segment и при запуске просто мигает и все. |
Автор: anwe 5.5.2007, 21:25 |
А как компилируешь. Это com-файл, не exe. |
Автор: Trishi 5.5.2007, 21:31 |
Ну я сначала пишув мс-досе: "masm name.asm" потом: "link name.obj" А потом надо чтобы я его открыла и мне напечатало. |
Автор: anwe 5.5.2007, 21:41 | ||
Тогда так:
Это ехе-файл. |
Автор: JAPH 5.5.2007, 21:43 | ||||
anwe,
??
|
Автор: Trishi 5.5.2007, 21:51 |
И первый, и второй вариант просто мигают и все((( |
Автор: anwe 5.5.2007, 22:03 |
Это для ДОСа не для винды. |
Автор: Trishi 5.5.2007, 22:13 |
А как для виндовса сделать? |
Автор: anwe 5.5.2007, 22:21 |
Ты определись для чего тебе надо. Если это только начало, то обычно для ДОСа, чтобы понять суть. Но ты определись. |
Автор: Trishi 5.5.2007, 22:29 |
Вообще-то у нас это начало. Но для виндовс надо. Чтобы запустить на виндовсе и нормально открылось окно и там число напечатанное было. |
Автор: anwe 5.5.2007, 22:42 |
Для винды - консоль или полноценное окно? |
Автор: Trishi 5.5.2007, 22:46 |
Самое простое - вот как типа в БорландС открывается. Это консоль, наверное, называется. Программу запускаешь - окно открывается, а потом энтер - и все. |
Автор: anwe 5.5.2007, 22:55 |
Не, давай так. Это подойдет. См. прилашаемый файлик. Запускаешь сенс ДОС и комстроке прописываешь -> получаешь результат ![]() |
Автор: Trishi 5.5.2007, 23:02 |
Спасибо! А именно код еще у тебя есть? Можешь и его еще прикрепить? |
Автор: anwe 5.5.2007, 23:05 | ||
Так это JAPH спасибо. Его код. Смотри его сообщение. Для работы необходимо лишь добавить
|
Автор: Trishi 5.5.2007, 23:07 |
Добавляю - а экзешник не создается. Тоже ошибка там: "invalid object module" |
Автор: JAPH 6.5.2007, 10:52 | ||
anwe, не согласен! Я использую полное определение сегментов, и мешать его с моделями не следует. Тем более .stack 10h и sseg segment stack ; db 0400h dup (?) немного противоречат друг другу. Попробуйте:
Окно закроется только после press any key. |
Автор: Trishi 6.5.2007, 19:13 | ||
Спасибо! Я запустила - все работает. Только по ходу разбирание в программе возникло пару вопросов:
6. В каком месте программы мы ставим задержку экрана до нажатия любой клавиши 7 - самый главный: Это и есть перевод числа в строку или это только распечатка числа? |