
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.05.2013, 13:37
|
|||
|---|---|---|---|
|
|||
Помогите, пожалуйста, с ассемблером! |
|||
|
#18+
Нужно рассчитать числа Фибоначчи (каждое новое число равно сумме двух предыдущих, в десятичной записи: 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") Вероятно, тут всё совсем не верно... Помогите, пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.05.2013, 00:24
|
|||
|---|---|---|---|
Помогите, пожалуйста, с ассемблером! |
|||
|
#18+
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 бит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&mobile=1&tid=1341826]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
178ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 497ms |

| 0 / 0 |
