私は単純な電卓用の MIPS コードを書いていますが、ユーザー入力に従って対応する関数にどのように分岐するのか疑問に思っていました。たとえば、ユーザーが 2 つの数値を加算したい場合、電卓がおそらく乗算または減算ではなく、加算ラベルにジャンプするようにするにはどうすればよいでしょうか?
質問する
794 次
1 に答える
1
ユーザー入力をレジスターに取り込みます。
次に、beq 命令を使用して、それを最初の ascii 値、たとえば「+」と比較します。
.data
plus: .asciiz "+"
sub: .asciiz "-"
prod: .asciiz "*"
div .asciiz "/"
.text
.global calculator
.align 2
.ent calculator
calculator:
//t0 holds user input
la $t1,plus
lb $t1,0($t1)
beq $t0,$t1,add
//now check for subtraction, division product. Same code, just change the address (add)
//if none matched, jump to error
b error
add:
//addition code goes here
division:
//division code goes here
product:
//product code goes here
subtraction:
//subtraction code goes here.
error:
//error code goes here.
于 2009-11-28T18:34:13.700 に答える