![]() |
|
|
![]()
|
|
| binarnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.4.2009 Репутация: нет Всего: нет |
Вывод первых 12 чисел фибоначи
выводятся 1 1 2 3 5 8 дальше мусор, по видимому двузначные числа выводятся неккоректно. подскажите как правильно вывести массив. и почему при односимвольном выводе мы пишем add dl,30h ?
заранее спс |
|||
|
||||
| ФедосеевПавел |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: 4 Всего: 10 |
Смотри, 7-е число Фибоначи будет - 13. Чтобы его вывести на экран, нужно его разделить на 10. Частное от деления - 1 - поместить в dl и вывести на экран твоим кодом:
Затем, взять остаток от деления - 3 - поместить в dl и также вывести на экран. Так в целом выглядит алгоритм вывода числа на экран. Но на практике при создании подпрограмм вывода не привязываются к конкретным значениям выводимого числа и алгоритм выглядит примерно так: 1. Исходное число делят на 10 (div). 2. Остаток помещают в стек (push dl). 3. Если частное>0, то Исходное=частное и перейти к п.1 4. Теперь выводим числа (на самом деле одиночные цифры) из стека на экран кодом, аналогичным приведённому тобой Вот процедура вывода на экран содержимого ax
Применять её примерно так:
Можешь переделать Show_ax в Show_al, чтобы выводилось содержимое не ax, а al. Еще хорошие примеры вывода чисел на экран http://forum.vingrad.ru/faq/topic-158522/u...ывод-числа.html
Потому, что код символа "0" равен 30h, "1" - 31h ... Это сообщение отредактировал(а) ФедосеевПавел - 18.4.2009, 07:56 |
||||||||
|
|||||||||
| binarnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.4.2009 Репутация: нет Всего: нет |
все доходчиво, спасибо разобрался)
|
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |