repositories
/
TD_IML.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixlets to palindrome example
[TD_IML.git]
/
TD4
/
mips3.asm
diff --git
a/TD4/mips3.asm
b/TD4/mips3.asm
index 889258c222619ef1eee2afb3c572cdd357b67770..2d22a8517632ad65dc003136596be307763b9f36 100644
(file)
--- a/
TD4/mips3.asm
+++ b/
TD4/mips3.asm
@@
-1,10
+1,10
@@
.data
.data
-input: .space
2
0
+input: .space
5
0
input_string: .asciiz "Saisir un mot ? "
msg_palindrome_part_1: .asciiz "Le mot "
msg_palindrome_part_2: .asciiz " un palindrome"
input_string: .asciiz "Saisir un mot ? "
msg_palindrome_part_1: .asciiz "Le mot "
msg_palindrome_part_2: .asciiz " un palindrome"
-msg_is
_palindrome: .asciiz "
est"
-msg_is_not
_palindrome: .asciiz "
n'est pas"
+msg_is
: .asciiz "
est"
+msg_is_not
: .asciiz "
n'est pas"
newline: .asciiz "\n"
.text
newline: .asciiz "\n"
.text
@@
-21,12
+21,12
@@
input_word:
syscall
li $v0, 8
la $a0, input
syscall
li $v0, 8
la $a0, input
- li $a1,
2
0
+ li $a1,
5
0
syscall
jr $ra
clean_and_length_word:
syscall
jr $ra
clean_and_length_word:
- la $s4, ($zero)
+ la $s4, ($zero)
# word length
la $s0, input # $s0 contains base address of the string buffer
addi $s3, $0, '\n' # $s3 = '\n'
loop1:
la $s0, input # $s0 contains base address of the string buffer
addi $s3, $0, '\n' # $s3 = '\n'
loop1:
@@
-36,6
+36,7
@@
loop1:
addi $s4, $s4, 1
j loop1
end1:
addi $s4, $s4, 1
j loop1
end1:
+ sb $0, 0($s0) # replace newline with 0
la $a2, ($s4)
jr $ra
la $a2, ($s4)
jr $ra
@@
-81,7
+82,7
@@
display_palindrome:
la $a0, input
li $v0, 4
syscall
la $a0, input
li $v0, 4
syscall
- la $a0, msg_is
_palindrome
+ la $a0, msg_is
li $v0, 4
syscall
la $a0, msg_palindrome_part_2
li $v0, 4
syscall
la $a0, msg_palindrome_part_2
@@
-99,7
+100,7
@@
display_not_palindrome:
la $a0, input
li $v0, 4
syscall
la $a0, input
li $v0, 4
syscall
- la $a0, msg_is_not
_palindrome
+ la $a0, msg_is_not
li $v0, 4
syscall
la $a0, msg_palindrome_part_2
li $v0, 4
syscall
la $a0, msg_palindrome_part_2
@@
-108,4
+109,4
@@
display_not_palindrome:
la $a0, newline
li $v0, 4
syscall
la $a0, newline
li $v0, 4
syscall
- jr $ra
\ No newline at end of file
+ jr $ra