Dodawanie 113 liczb 32 bitowych ASM

0

Witam, potrzebuję napisać algorytm dodawania 113 liczb 32 bitowych w asemblerze. Nie mam pojęcia jak się do tego zabrać, byłbym wdzięczny za każdą pomoc od kursów po opisany kod.

0

Nie wiem o jaki asembler chodzi, ale w każdym razie zadanie wydaję się bardzo proste. W przypadku x86 tryb 32 bitowy daje ci możliwość dodania takich liczb w bardzo prosty sposób. Dodaje się instrukcją ADD, dodatkowo można użyć rejestru eax na sumowanie i ecx jako licznika.

mov ecx, 113
mov esi, tablica_zmiennych
mov eax, 0
petla:
add eax, [esi]
add esi, 4 ; 4 bajty to rozmiar jednej zmiennej w tablicy
loop petla
; jako wynik otrzymujesz sumę liczb w rejestrze eax i możesz zrobić z tym co chcesz

0

właśnie o taki prosty kod chodzi, prowadzący zadał nam to bez żadnego wprowadzenia do asm i jakoś trzeba sobie poradzić... Jeśli chodzi o przekroczenie zakresu to wspominał coś o tym że wynik ma być zapisany na 64 bitach.

Nie do końca jeszcze rozumiem ten kawałek:
add eax, [esi] - dodajemy do zawartości eax całą tablicę czy tylko 32 bitowy kawałek a później przesuwamy się o 4 bajty komenda poniżej ?
add esi, 4

0

Czy taki programik będzie działał na DSM-51?

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