文章

36

粉丝

0

获赞

0

访问

3.7k

头像
2011年计算机学科专业基础综合试题 - 第43题回答
计算机组成原理
发布于2025年9月19日 21:29
阅读数 99

1. R1存放x,x为无符号数的```134 = 128+6```,十六进制形式为```86H```;

   R5存放z1,z1为无符号数```x-y```的结果,直接算```1000 0110 - 1111 0110 = 1001 0000 = 90H```,也可以这么算$134-246+256=144=90H$

   R6存放的是z2,z2为无符号数```x+y```的结果,直接算```1000 0110 + 1111 0110 = 0111 1100 = 7CH```

2. ```m = int x```,x表示为补码的```1000 0110 = 86H```,原码为```1111 1010 = FAH```,真值为$-(7\times16+10) = -122$;

   ```int k1=m-n```,由(1)知,k1的值为```1001 0000 = 90H```,最高位为1,是负数,则其原码为```1111 0000 = F0H```,真值为$-(7 \times 16) = -112$

3. 可以;n位加法器支持有符号数运算结果的范围是$[-2^{n-1},2^{n-1}-1]$,无符号数运算结果的范围是$[0, 2^{n}-1]$

   从无符号数的加法来看,Sub传入值为0,减法Sub则传入1,X + Y根据CF和OF、ZF可以判断结果是否有效;从有符号数的加法来看,Sub传入值为0,减法Sub则传入1,X + Y根据SF和OF、ZF可以判断结果是否有效

   补码加法器统一处理有符号和无符号运算,仅标志位解释不同(CF用于无符号,OF/SF用于有符号)

4. 计算机判断有符号整数加减运算的结果是否溢出,往往要参考OF

   OF = $C_{n} \oplus C_{n-1}$,根据最高位的进位和最高数据位的进位异或结果判定是否溢出

   加法运算的情况下,正数+正数=负数,负数+负数=正数这两种结果会发生溢出

   减法运算的情况下,正数-负数=负数,负数-正数=正数这两种结果会发生溢出

  &n...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发