私はこのC関数を持っています:
int bin_img(unsigned char *ptr, int w, int h, unsigned char limiar);
私のコードでは、次のように関数を使用します。
printf("The value is %d\n",bin_img(dp, width, height, LIMIAR));
変数が次のように定義されていると想像してください。
#define LIMIAR 128
unsigned char *dp;
int w = 5;
int h = 0;
dp[] = {74,250,153,28,26}
MIPS で bin_img 関数をプログラムする必要があります。
次のコードがあるとします。
bin_img:
lb $15,0($4)
move $2,$15
jr $31
74 witch is the first element of my array. と表示されます。私が行った場合
bin_img:
lb $15,1($4)
move $2,$15
jr $31
またはこれ:
bin_img:
lb $15,2($4)
move $2,$15
jr $31
それはいくつかの負の数を出力し、私がこれを行うと:
bin_img:
lb $15,3($4)
move $2,$15
jr $31
またはこれ
bin_img:
lb $15,4($4)
move $2,$15
jr $31
それぞれ 28 と 26 を出力します。負の数を出力するのはなぜですか?
250 と 153 を出力するべきではありませんか?