6
li $a0, '0'
li $v0, 11
syscall

だから私は $a0 にあるものを印刷するこのコードを持っています

印刷される文字に関して、-1 と 1 の違いは何ですか? 0 ではなく -1 を出力しようとすると、mars は値について不平を言うだけです。

正の数に関して負の数を処理する数学関数はありますか?

4

1 に答える 1

13

Syscall 11 は 1 文字を出力します。文字列 "0" と "1" はどちらも 1 文字で構成されますが、"-1" は 2 文字 ("-" と "1") で構成されます。

-1 を 2 つの個別の文字として出力することもできます。

li $a0, '-'
li $v0, 11    # print_character
syscall
li $a0, '1'
li $v0, 11    # print_character
syscall

または文字列として:

 li $v0, 4    # print_string    
 la $a0, str     
 syscall          

 str:  .asciiz "-1"

または整数として:

 li $v0, 1    # print_int     
 li $a0, -1     
 syscall      
于 2013-04-15T09:24:47.623 に答える