我有这个 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 女巫是我数组的第一个元素。如果我做
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 吗?