Cześć,
dopiero zaczynam naukę assemblera na studiach. Na pierwszych zajęciach dostałem polecenie, aby napisać Generator liczb pseudolosowych w oparciu o Opóźniony ciąg Fibonacciego (generator LFG). Mój problem jest taki, że 10 liczb, na podstawie których będą wyłaniane liczby pseudolosowe, mają być umieszczone w pamięci IRAM, jako bufor cykliczny.
Umieszczam liczby w tejże pamięci korzystając z:
tab: db 4, 5, 3, 3, 3, 4, 6, 2, 6, 5
Następnie korzystam z tych danych w ten sposób, oczywiście wcześniej ustawiając akumulator na liczbę, którą chcę otrzymać:
MOV DPTR, #tab
MOVC A,@A+DPTR
I tutaj niestety nie mogę sobie poradzić. Otóż liczba pseudolosowa, którą otrzymuję ze wzoru, powinna zastąpić jedną z liczb w buforze, która zostałą wykorzystana do obliczenia jej, gdyż będzie wykorzystana w przyszłości do utworzenia kolejnej liczby.
Szukałem możliwości jak zastąpić liczbę z tab w pamięci IRAM, jakoś ją nadpisać, niestety po kilku godzinach prób rozwiązania nie znalazłem.
Bardzo proszę o pomoc w tej kwestii i z góry dziękuję.