Zadanie z assemblera

0

Bardzo proszę o pomoc bo niestety nie mam pomysłu jak napisać przynajmniej jednen taki program w Assemblerze!
Program ma zliczyc i wydrukowac w oknie terminala (funkcja printf):

#zad.1

- sume wszystkich elementow tablicy

zad.2

- dodatkowo - liczbe elementow tablicy o wartosciach mniejszych od 0

zad.3 wydrukowanie tekstu "Imie nazwisko nr_albumu",

przy czym nr_albumu ma stanowic wartosc zmiennej

#################################################################

	.data

text_a: .string "Suma = %d, elementow <0 = %d\n"

tab: .long 6, 4, -3, 3, -5, 9, 7, 1, -2, 8, -3, 5, 9, -1, 2
count: .long 15

sum: .long 0
negcnt: .long 0

text_b: .string "Imie nazwisko nr %d\n"
number: .long 12345

#################################################################

	.text
	.global	main

main:

nadaj wartosci poczatkowe sumie i licznikom

dane mozna przechowywac gdziekolwiek (w rejestrach, w pamieci)

petla:

usun bledy i odczytaj w prawidlowy sposob element tablicy

	mov	tablica(,%rejestr,2) , %ax

zaktualizuj sum�

sprawdz czy wartosc jest ujemna

zaktualizuj liczniki

zamknij petle

koniec:

przekaz argumenty

wyswietl wyniki (printf)

	call	printf

koniec funkcji main

	xor	%eax,%eax
	ret

#################################################################

4

Wrzuć sobie kod w C w https://godbolt.org/ i zobacz jakie kod w assemblerze zostanie wygenerowany.

1 użytkowników online, w tym zalogowanych: 0, gości: 1