Marta Kiełczewska grupa AiR1
Barnik Grzegorz
Grzegrzółka Paweł
Majewski Paweł
Architektura Systemów Komputerowych - Projekt 2
Kolejny projekt - program SUMA jest prostym programem, wykonującym sumowanie cyfr w zadanej przez użytkownika liczbie. Podstawowym, przyjętym przez nas założeniem było połączenie języków C oraz ASM.
Trzymając się wspomnianego założenia napisaliśmy w języku C prosty interfejs pozwalający na sczytanie podanej przez użytkownika liczby, a następnie przekazanie jej do ASM, gdzie wykonywane są wszelkie potrzebne obliczenia, po czym ponownie w C wykonywana jest ekspozycja wyniku.
Korzystając z podstawowej biblioteki języka C - studio.h program przy użyciu funkcji printf wyświetla na ekranie prośbę o podanie liczby, której cyfry chcemy zsumować, następnie podana liczba zostaje sczytana przy użyciu operacji scanf, kolejne polecenie w kodzie powoduje obliczenie wyniku, które dokonywane jest w części assemblerowej programu (do której odwołanie znajdujemy w linijce: extern int suma(int liczba)) ostateczności znów za pomocą operacji printf zostaje na ekranie wyświetlony wynik.
Sama operacja sumowania wykonywana jest poprzez załadowanie tablicy kolejnymi cyframi wczytanej liczby, co dokonywane jest w pętli i przy użyciu operacji na stosie. Powrót do programu wywołującego dokonywany jest przy pomocy polecenia ret, natomiast wynik, przekazywany jest do części programu napisanej w C za pomocą rejestru AL.
rys.1 Podana liczba oraz wynik sumowania jej cyfr