-
Notifications
You must be signed in to change notification settings - Fork 2
/
fibonacci-sequence.asm
31 lines (27 loc) · 2.13 KB
/
fibonacci-sequence.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
####################################################################################################
## Source code for the "Fibonacci Sequence" program for a computer made of logic arrows ##
## Исходный код программы "Fibonacci Sequence" для компьютера из логических стрелочек ##
## https://github.com/chubrik/LogicArrows/tree/main/computer-v1 ##
## (с) 2023 Arkadi Chubrik (arkadi@chubrik.org) ##
####################################################################################################
ldi a, 0x80 ; Код для подключения дисплея
st a, 0x3F ; Подключаем вывод
inc b ; Подготавливаем число 1
inc c ; Подготавливаем число 1
ldi d, 0x3F ; Указатель для вывода на дисплей
loop: inc d ; Смещаем указатель на дисплее на ряд ниже
inc d
mov a, b ; Берём первое число
add a, c ; Складываем последние два числа
mov b, a ; Сохраняем сумму в первое число
st a, d ; Выводим сумму на дисплей
inc d ; Смещаем указатель на дисплее на ряд ниже
inc d
mov a, c ; Берём второе число
add a, b ; Складываем последние два числа
mov c, a ; Сохраняем сумму во второе число
st a, d ; Выводим сумму на дисплей
ldi a, 0x53 ; Адрес на дисплее для последнего числа
xor a, d
jnz loop ; Если мы ещё не достигли этого адреса, повторяем итерацию
hlt ; Завершаем выполнение программы