返回主页

[计算机组成原理 P1108] 假定在一个8位字长的计算机中运行如下类C程序段

 
学习人数: 4.3k
 
正确率: 100%
答案解析

题目描述
未通过

假定在一个8位字长的计算机中运行如下C程序段:

  unsigned int x=134;
  unsigned 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、z2、k1和k2。请回答下列问题。(提示:带符号整数用补码表示)

(1) 执行上述程序段后,寄存器R1、R5和R6的内容分别是什么(用十六进制表示)?

(2) 执行上述程序段后,变量m和k1的值分别是多少(用十进制表示)?

(3) 上述程序段涉及带符号整数加/减、无符号整数加/减运算,这四种运算能否利用同一个加法器及辅助电路实现?简述理由。

(4) 计算机内部如何判断带符号整数加/减运算的结果是否发生溢出?上述程序段中,哪些带符号整数运算语句的执行结果会发生溢出?


上一题
下一题
加入错题本
个人笔记
已有12条笔记

登录后提交答案


2 个回答 (点击展开回答)