Asembler pod architekture MIPS w programie MARS

0

Czy ktoś ogarnia asemblera w środowisku MARS. Obecnie na studiach przerabiam architekture MIPS i robie zadania w środowisku Mars. Jedno z tych zadań jest następujące:

Napisz program MIPS, który prosi użytkownika o wpisanie swojego imienia, a następnie wypisuje „Czesc”, a następnie imienia wprowadzonego przez użytkownika.

Napisałem coś takiego:

.data
myWord: .space 20
hello: .asciiz "Czesc: \n"
str1: .asciiz   "Jak sie nazywasz?: \n"
str2: .asciiz "Nazywam sie: \n"
.text

main:
	li $v0, 4
	la $a0, hello
	syscall 
	li $v0, 4
	la $a0, str1
	syscall 
	
	li $v0, 4
	la $a0, str2
	syscall 
	
	la $a0, myWord
	li $a1, 8
	
	li $v0, 8
	syscall 
	
	li $v0, 10
	syscall 

tylko nie działa dla dłuższych Imion. Przykładowo. Jak chce wyświetlić imie Przemysław to mi ucina do Przemys
screenshot-20231123223343.png

1

tylko nie działa dla dłuższych Imion. Przykładowo. Jak chce wyświetlić imie Przemysław to mi ucina do Przemys
screenshot-20231123223343.png

Spróbuję cię (jeszcze raz) nauczyć testowania i wyciągania z niego wniosków.

Na razie pokazałeś jeden przykład. To mało. Co się dzieje dla innych przykładów podanego tekstu od użytkownika? Masz sprawdzić, która cecha tego tekstu wejściowego (długość, obecność polskich znaków, obecność spacji, itd.) psuje ci wynik.

W tym momencie masz teorię, że chodzi o długość, ale twój przykład zawiera też inną cechę - polski znak "ł". Ponieważ ma te dwie cechy na raz, nie jestem przekonany, że chodzi o długość, a nie o ten polski znak.

Żeby udowodnić że to długość jest winna, przetestuj tekst o tej samej długości ale bez polskich znaków. A żeby udowodnić że to polskie znaki są winne, musiałbyṡ przetestować krótki tekst z polskimi znakami. Rozumiesz już?

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