• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Asembler pod MIPS

Object Storage Arubacloud
0 głosów
37 wizyt
pytanie zadane 1 grudnia 2023 w Assembler przez hutsalo1998 Użytkownik (520 p.)

Mam do policzenia wartości pobrane od użytkownika według podanego niżej wzoru:

A+2B-5. Kod wygląda tak:

	.data
msg1: .asciiz  "Podaj liczbe A: \n"
answer: .asciiz  "Wprowadzona liczba to: \n"
msg2: .asciiz  "Podaj liczbe B: "
answer2: .asciiz "Wprowadzona liczba to: \n"
result: .asciiz "Wynik"

	.text
main:
	li $v0, 4
	la $a0, msg1
	syscall
	
	li $v0, 5
	syscall 
	move $s0, $v0
	
	li $v0, 4
	la $a0, answer
	syscall
	
	li $v0, 1
	move $a0, $s0
	syscall 
	
	li $v0, 4
	la $a0, msg2
	syscall
	
	li $v0, 5
	syscall 
	move $s0, $v0
	
	
	li $v0, 4
	la $a0, answer2
	syscall
	
	li $v0, 1
	move $a0, $s0
	syscall 
	
	add $t0, $a0, $a0 #$t0, 2B
	add $s0, $a0, $t0 #A + 2b
	
	li $v0, 4
	la $a0, result
	syscall
	
	li $v0, 1
	move $a0, $s0
	syscall 
	
	
	li $v0, 10
	syscall

Dane wyjściowe, które generuje mi ten program są nieprawidłowe:

A tutaj rozwiązanie tego samego problemu tylko nieco inaczej napisane:

.data
	labelA: .asciiz "Podaj luczbe A:"
	labelB: .asciiz "Podaj luczbe B:"
	labelC: .asciiz "Wynik: "

.text
	main:
	
	## Print first message  ##
	la $a0, labelA
	li $v0, 4
	syscall
	
	#Read first number
	li $v0, 5
	syscall
	move $s0,$v0
	
	## Print second message  ##
	la $a0, labelB
	li $v0, 4
	syscall
	
	#Read second number
	li $v0, 5
	syscall
	move $s1,$v0
	
	add $t1, $s1, $s1 #2B $t1
	
	add $s2, $s0, $t1 # A + 2B $s2
	
	
	## Print resust message  ##
	la $a0, labelC
	li $v0, 4
	syscall
	
	# Print result #
	move $a0, $s2
	li $v0, 1
	syscall
	
	
	
	
	
	

a tutaj dane wynikowe dla tych samych danych wejściowych:

i czemu są takie rozbieżności?

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 620 wizyt
pytanie zadane 9 listopada 2019 w Assembler przez julka97 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 503 wizyt
pytanie zadane 12 maja 2020 w Assembler przez evela Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 424 wizyt
pytanie zadane 8 grudnia 2019 w Assembler przez Vlad Nowicjusz (120 p.)

92,580 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,965 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...