| 1 | .data |
| 2 | buffer1: .space 20 |
| 3 | buffer2: .space 20 |
| 4 | n: .asciiz "\n" |
| 5 | string_part_one: .asciiz "Le temps est " |
| 6 | string_part_two: .asciiz ", je devrais prendre " |
| 7 | string_part_three: .asciiz " avant de sortir." |
| 8 | string_hole: .asciiz "__________" |
| 9 | input_string: .asciiz "Mot manquant ? " |
| 10 | .text |
| 11 | la $a0,string_part_one |
| 12 | li $v0,4 |
| 13 | syscall |
| 14 | la $a0,string_hole |
| 15 | li $v0,4 |
| 16 | syscall |
| 17 | la $a0,string_part_two |
| 18 | li $v0,4 |
| 19 | syscall |
| 20 | la $a0,string_hole |
| 21 | li $v0,4 |
| 22 | syscall |
| 23 | la $a0,string_part_three |
| 24 | li $v0,4 |
| 25 | syscall |
| 26 | la $a0,n |
| 27 | li $v0,4 |
| 28 | syscall |
| 29 | la $a0,input_string |
| 30 | li $v0,4 |
| 31 | syscall |
| 32 | li $v0,8 |
| 33 | la $a0,buffer1 |
| 34 | li $a1,20 |
| 35 | syscall |
| 36 | |
| 37 | la $s0, buffer1 # $s0 contains base address of the string buffer |
| 38 | addi $s3, $0, '\n' # $s3 = '\n' |
| 39 | loop1: |
| 40 | lb $s1, 0($s0) # load character into $s0 |
| 41 | beq $s1, $s3, end1 # break if byte is newline |
| 42 | addi $s0, $s0, 1 # increment buffer address |
| 43 | j loop1 |
| 44 | end1: |
| 45 | sb $0, 0($s0) #replace newline with 0 |
| 46 | |
| 47 | la $a0,input_string |
| 48 | li $v0,4 |
| 49 | syscall |
| 50 | li $v0,8 |
| 51 | la $a0,buffer2 |
| 52 | li $a1,20 |
| 53 | syscall |
| 54 | |
| 55 | la $s0, buffer2 # $s0 contains base address of the string buffer |
| 56 | addi $s3, $0, '\n' # $s3 = '\n' |
| 57 | loop2: |
| 58 | lb $s1, 0($s0) # load character into $s0 |
| 59 | beq $s1, $s3, end2 # break if byte is newline |
| 60 | addi $s0, $s0, 1 # increment buffer address |
| 61 | j loop2 |
| 62 | end2: |
| 63 | sb $0, 0($s0) #replace newline with 0 |
| 64 | |
| 65 | la $a0,string_part_one |
| 66 | li $v0,4 |
| 67 | syscall |
| 68 | la $a0,buffer1 |
| 69 | li $v0,4 |
| 70 | syscall |
| 71 | la $a0,string_part_two |
| 72 | li $v0,4 |
| 73 | syscall |
| 74 | la $a0,buffer2 |
| 75 | li $v0,4 |
| 76 | syscall |
| 77 | la $a0,string_part_three |
| 78 | li $v0,4 |
| 79 | syscall |
| 80 | |
| 81 | li $v0,10 |
| 82 | syscall |