计算机组成原理无符号数的加减运算假定一个八位字长的计算机中运行如下c程序段unsigned int x=134;unsighed int y=246;int m=x;int n=y;unsigned int z1=x-y;unsigned int z2=x+y;int k1=m-n;int k2=m+n;若编译器编译时将8
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 17:51:39
计算机组成原理无符号数的加减运算假定一个八位字长的计算机中运行如下c程序段unsigned int x=134;unsighed int y=246;int m=x;int n=y;unsigned int z1=x-y;unsigned int z2=x+y;int k1=m-n;int k2=m+n;若编译器编译时将8
计算机组成原理无符号数的加减运算
假定一个八位字长的计算机中运行如下c程序段
unsigned int x=134;
unsighed int y=246;
int m=x;
int n=y;
unsigned int z1=x-y;
unsigned int z2=x+y;
int k1=m-n;
int k2=m+n;
若编译器编译时将8个8位寄存器R1~R8分别分配给变量x、y、m、n、z1、z1、k1、k2;
问:执行上述程序段后,寄存器R1、R5、R6
的内容分别是什么?
我计算的R5
x=10000110
y=11110110
计算z1=x-y
是不是因为他们都寄存在八位的寄存器里
所以x-y:
1000 0110
- 1111 0110
----------------
1001 0000
z1=90H
这样计算对么?
计算机组成原理无符号数的加减运算假定一个八位字长的计算机中运行如下c程序段unsigned int x=134;unsighed int y=246;int m=x;int n=y;unsigned int z1=x-y;unsigned int z2=x+y;int k1=m-n;int k2=m+n;若编译器编译时将8
不对.
计算机的处理过程是:让减数经过一个反向器并加1,也就是取反,然后再送入ALU相加
所以是这样的
1000 0110
+0000 1010