Witam szanownych użytkowników
Na zaliczenie mam do napisania program. Jego treść przedstawiam poniżej.
Szesnascie kolejnych liczb osmiobitowych (wyniki pomiarow) umieszczono na stosie. Napisac procedure (wywolywana z programu glownego), zdejmujaca te dane ze stosu, obliczajaca ich wartosc srednia, umieszczajaca te wartosc w komorce nr 30h i powracajaca do programu glownego.
Aby to uzyskać, jak mniemam, muszę:
1. Napisać kilka linijek programu ogólnego (początek, koniec, a w środku wspomniana procedura)
2. Wywołanie procedury.
3. Przeniesienie zawartości akumulatora do jakiejś komórki pamięci.
4. Wyzerowanie akumulatora
Początek pętli
5. Zdjęcie ze stosu pierwszej liczby i dodanie jej do wartości akumulatora/.
6. Odczytanie i dodanie kolejnych liczb ze stosu.
Koniec pętli
7. Wynik z akumulatora podzielić przez liczbę powtórzeń pętli.
8. Wynik dzielenia (zawartość akumulatora?) przenieść do komórki 30h.
9. Wyzerować akumulator.
10. Przenieść do akumulatora jego wartość pierwotną (zapisaną w komórce pamięci - pkt 3)
11. Wrócić do programu głównego.
Problem polega na tym, że nie bardzo wiem jak się dalej za to zabrać.
Brakuje mi wiedzy na temat stosowania komend itp. (być może niektóre pkt są zbędne - np. przeniesienie jakiejś wartości do akumulatora może nie wymaga wcześniejszego zerowania akumulatora). Może trzeba jeszcze coś dodać? Jak to zrobić, aby obliczenia uwzględniały znak poszczególnych wartości zdejmowanych ze stosu (pomiary mogą mieć wartość dodatnią lub ujemną).?
Czy wywołanie podprogramu zapisuje się w jakiś sposób na stosie? Jeśli tak, to ile "wartości" trzeba zdjąć aby dokopać się do "wyników pomiarów, które podlegają dalszej obróbce"?
Proszę o pomoc.
Na zaliczenie mam do napisania program. Jego treść przedstawiam poniżej.
Szesnascie kolejnych liczb osmiobitowych (wyniki pomiarow) umieszczono na stosie. Napisac procedure (wywolywana z programu glownego), zdejmujaca te dane ze stosu, obliczajaca ich wartosc srednia, umieszczajaca te wartosc w komorce nr 30h i powracajaca do programu glownego.
Aby to uzyskać, jak mniemam, muszę:
1. Napisać kilka linijek programu ogólnego (początek, koniec, a w środku wspomniana procedura)
2. Wywołanie procedury.
3. Przeniesienie zawartości akumulatora do jakiejś komórki pamięci.
4. Wyzerowanie akumulatora
Początek pętli
5. Zdjęcie ze stosu pierwszej liczby i dodanie jej do wartości akumulatora/.
6. Odczytanie i dodanie kolejnych liczb ze stosu.
Koniec pętli
7. Wynik z akumulatora podzielić przez liczbę powtórzeń pętli.
8. Wynik dzielenia (zawartość akumulatora?) przenieść do komórki 30h.
9. Wyzerować akumulator.
10. Przenieść do akumulatora jego wartość pierwotną (zapisaną w komórce pamięci - pkt 3)
11. Wrócić do programu głównego.
Problem polega na tym, że nie bardzo wiem jak się dalej za to zabrać.
Brakuje mi wiedzy na temat stosowania komend itp. (być może niektóre pkt są zbędne - np. przeniesienie jakiejś wartości do akumulatora może nie wymaga wcześniejszego zerowania akumulatora). Może trzeba jeszcze coś dodać? Jak to zrobić, aby obliczenia uwzględniały znak poszczególnych wartości zdejmowanych ze stosu (pomiary mogą mieć wartość dodatnią lub ujemną).?
Czy wywołanie podprogramu zapisuje się w jakiś sposób na stosie? Jeśli tak, to ile "wartości" trzeba zdjąć aby dokopać się do "wyników pomiarów, które podlegają dalszej obróbce"?
Proszę o pomoc.