(12分)假定在一个 32 位字长的计算机中运行如下类 C 程序段:
unsigned short us1 = 300;
unsigned short us2 = 65336;
short s1 = us1;
short s2 = us2;
unsigned short m1 = us1+us2;
unsigned short m2 = us1-us2;
short n1 = s1+s2;
short n2 = s1-s2;
若程序执行时将 10 个 32 位寄存器 R1 - R10 分别分配给变量 us1、us2、s1、s2、m1、m2、n1 - n4。
请回答下列问题:
(1) 执行上述程序段后,寄存器 R2、R4、R5、R6 的内容分别是什么?(用十六进制表示)(4分)
(2) 执行上述程序段后,n1、n2 的值分别是多少?(用十进制表示)(2分)
(3) 计算 m2 得到的进位标志 CF、零标志 ZF 分别是多少?(2分)
(4) 计算机内部如何确定无符号数加 / 减法的进位标志 CF?有符号整数加 / 减法会影响 CF 吗?(4分)
登录后提交答案