# Compute dodaj dwie liczby
.data
head: .asciiz "tekst wyświetlany \n"
tekst1: .asciiz "\nwczytaj liczbe calkowita \n"
tekst2: .asciiz "\nwprowadzona liczba to: \n"
.text
la $a0, head # załądowanie adresu zmiennej tekstowej head do rejestru $a0
li $v0, 4 # załadowanie numeru usługi (4 - wyprowadzenie na konsolę tekstu ) do rejestru $v0
syscall # wywołanie funkcji we/wy -wyswietlenie tekstu ze zmiennej head
li $t0, 5 # załadowanie wartości 5 do rejestru $t0
li $v0, 1 # service 1 is print integer
add $a0, $t0, $zero # load desired value into argument register $a0, using pseudo-op
syscall
la $a0, tekst1
li $v0, 4 # załądowanie numeru usługi (4 - wyprowadzenie na konsolę tekstu ) do rejestru $v0
syscall # wywołanie funkcji we/wy - wyświetlenie tesktu ze zmiennej tekst1
li $v0, 5 # service 1 is read integer - consola w tryb czytania liczby całkowitej
syscall # wartość wprowadzona z klawiatury została zapisana w rejestrze $v0
add $t1, $v0, $zero # załadowanie wartości z rejestru $v0 do rej. $t1
la $a0, tekst2 # załadowanie adres zmiennej tekst2 do rejestru $a0
li $v0, 4 # załądowanie numeru usługi (4 - wyprowadzenie na konsolę tekstu ) do rejestru $v0
syscall # wywołanie funkcji we/wy - wyświetlenie tekstu ze zmiennej tekst2
li $v0, 1 # service 1 is print integer - ustawienie funkcji syscall w tryb wyprowadzania liczb całkowitych
add $a0, $t1, $zero # load desired value into argument register $a0, using pseudo-op
syscall
la $a0, tekst1
li $v0, 4
syscall
li $v0, 5
syscall
add $t2, $v0, $zero
add $a1, $t1, $t2
add $a0, $a1, $zero
li $v0, 1
syscall
Witam, przez to że siedzę na kwarantannie postanowiłem ogarnąć assemblera, ostatnie 10 linijek kodu udało mi się dopisać z pomocą poradników lecz nie potrafię przerobić by wprowadzać z klawiatury 3 lub 4 liczb i ich sumować, jakieś porady jak za to się zabrać ? próbowałem wiele sposobów i zazwyczaj liczy mi o 1 mniej niż powinno.
Dodam tylko iż wiem że jest łatwiejszy sposób na dodawanie ale ja chcę zapisywać do pamięci i odczytywać z niej a następnie dodawać.