A good answer might be:

Yes.

A Fine Example

Sometimes you will have to remove the null at the end of the input string, perhaps because it is intended to be part of a larger string. Other times, as in the following example, you can use two print string operations.

The example program asks the user to enter a person's name followed by comma and "enter". Then the program writes out a personalized letter using the name. The body of the letter is printed using only one syscall. The personalized greeting is printed first in a separate syscall because it is null terminated.

# overdue.asm

        .text
        .globl  main

main:   
        # get patron name
        li      $v0,4           # print prompt
        la      $a0,prompt      #
        syscall
        li      $v0,8           # code 8 == read string
        la      $a0,name        # $a0 == address of buffer
        li      $a1,24          # $a1 == buffer length
        syscall                 # Invoke the operating system.

        # print the letter
        li      $v0,4           # print greeting
        la      $a0,letter      #
        syscall
        li      $v0,4           # print body
        la      $a0,body        #
        syscall

        li      $v0,10      # exit
        syscall

        .data
prompt: .asciiz "enter name, followed by comma-enter: "
letter: .ascii "\n\nDear "
name:   .space 24

body:   .ascii "\nYour library books are way\n"
        .ascii "overdue.  Please return them\n"
        .ascii "before we give your name\n"
        .ascii "to the enforcement squad.\n\n"

# end of file

It is somewhat crude to make the user enter a comma at the end of the name. It would be nicer to have the program detect the end of the name and automatically put a comma after it. The program would be much longer.

QUESTION 11:

Is "backspace" a character?