powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите, пожалуйста, с ассемблером!
3 сообщений из 3, страница 1 из 1
Помогите, пожалуйста, с ассемблером!
    #38246054
vacarme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно рассчитать числа Фибоначчи (каждое новое число равно сумме двух предыдущих, в десятичной записи: 1, 1, 2, 3, 5, 8, 13, 21, 34 и т.д.), не превышающее заданного числа N[2^8, 2^16 -1]. Результат разместить во внешнем ОЗУ, отводя 2 ячейки на каждое число.
Я понимаю, как написать эту программу, высчитывающую числа фибоначчи, на СИ, например, но с ассемблером возникли непонятки...
Вот, что набросала:

MOV R1,#01h
MOV R2,#01h
MOV R3,#0Dh
MOV P1,R1
MOV P1,R2
ADD R1,R2 (две строчки, которые суммируют предыдущие числа)
MOV P1,R1
DJNZ R3,<…> (счетчик, грубо говоря, который возвращает к заданному адресу для продолжения "цикла", пока R3 не станет равен "0")

Вероятно, тут всё совсем не верно... Помогите, пожалуйста!
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с ассемблером!
    #38246333
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vacarmeНужно рассчитать числа Фибоначчи (каждое новое число равно сумме двух предыдущих, в десятичной записи: 1, 1, 2, 3, 5, 8, 13, 21, 34 и т.д.), не превышающее заданного числа N[2^8, 2^16 -1]. Результат разместить во внешнем ОЗУ, отводя 2 ячейки на каждое число.
Я понимаю, как написать эту программу, высчитывающую числа фибоначчи, на СИ, например, но с ассемблером возникли непонятки...
Вот, что набросала:

MOV R1,#01h
MOV R2,#01h
MOV R3,#0Dh
MOV P1,R1
MOV P1,R2
ADD R1,R2 (две строчки, которые суммируют предыдущие числа)
MOV P1,R1
DJNZ R3,<…> (счетчик, грубо говоря, который возвращает к заданному адресу для продолжения "цикла", пока R3 не станет равен "0")

Вероятно, тут всё совсем не верно... Помогите, пожалуйста!

негде проверить. Но думаю как-то так будет лучше:

mov ax, 1d
mov dx, 1d
xor cx, cx
@loop:
;тут команда вывода в ячейку регистра ax
add ax, dx
adc cx, 00
xchg ax, dx
test cx, FFh
jz @loop

не помню на каком асме... вроде на tasm. На любой другой можно легко переделать. только проверить надо.
Это вариант для 2^16-1. для 2^8-1 - то же самое, только с регистрами по 8 бит
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с ассемблером!
    #38246583
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это 8051
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите, пожалуйста, с ассемблером!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]