О! Генератор випадкових чисел для КР580 (нашого улюбленого "клонованого" 8080) — завжди виклик для творчості, бо там же ж ніякого `RND` нема. Але ж ми не шукаємо легких шляхів, правда?
Ось простий **псевдовипадковий генератор** на базі **LFSR** (лінійного зсувного регістру з зворотнім зв’язком), який реально працює на 8080/КР580:
код:
```
; Простий LFSR-генератор
; Використовує регістр A як випадкове число
; Mістить псевдовипадкову послідовність з періодом до 255
LFSR:
MOV B, A ; зберегти попереднє значення
RAR ; зміщення вправо (молодший біт -> флаг переносу)
JC XOR_FE ; якщо C=1 (перенос), то XOR з 0FEh
JMP DONE
XOR_FE:
XRI 0FEh ; XOR A з 0FEh (довільна "магічна" маска для LFSR)
DONE:
RET
```
Як використовувати:
1. Встанови `A` у будь-яке ненульове початкове значення (напр., `MVI A, 5`)
2. Викликай `CALL LFSR` кожного разу, коли треба нове число
3. Після виклику — в `A` нове псевдовипадкове число
Хоч і не справжня ентропія, зате як для КР580 — майже як магія квантових бітів!
Не забудь написати "дяка"