Syscall 11 prints one character. The strings "0" and "1" both consist of one character each, but "-1" consists of two characters ('-' and '1').
You could either print -1 as two individual characters:
li $a0, '-'
li $v0, 11 # print_character
syscall
li $a0, '1'
li $v0, 11 # print_character
syscall
Or as a string:
li $v0, 4 # print_string
la $a0, str
syscall
str: .asciiz "-1"
Or as an integer:
li $v0, 1 # print_int
li $a0, -1
syscall
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…