1、8080108BH。不同指令对寄存器进行不同的操作,因而不同指令执行时寄存器内容对应的真值不同。假定执行下列运算指令时,操作数为寄存器R1和R2的内容,则R1和R2中操作数的真值分别为多少?(1)无符号整数加法指令(2)带符号整数乘法指令(3)单精度浮点数减法指令8 假定机器M的字长为32位,用补码表示带符号整数。表2.12中第一列给出了在机器M上执行的C语言程序中的关系表达式,请参照已有的表栏内容完成表中后三栏内容的填写。表2.12 题8用表关系表达式运算类型结果说明0 = 0U1 2147483647 12147483647U (int) 2147483648U1 2(unsigned)
2、1 无符号整数有符号整数1 111B (2321) 000B(0)0111B (2311) 1000B (231)9 在32位计算机中运行一个C语言程序,在该程序中出现了以下变量的初值,请写出它们对应的机器数(用十六进制表示)。(1)int x=-32768 (2)short y=522 (3)unsigned z=65530(4)char c= (5)float a=-1.1 (6)double b=10.510. 在32位计算机中运行一个C语言程序,在该程序中出现了一些变量,已知这些变量在某一时刻的机器数(用十六进制表示)如下,请写出它们对应的真值。(1)int x:FFFF0006H (
3、2)short y:DFFCH (3)unsigned z:FFFFFFFAH(4)char c:2AH 5)float a:C4480000H (6)double b:C024800000000000H11. 以下给出的是一些字符串变量在内存中存放的字符串机器码,请根据ASCII码定义写出对应的字符串。指出代码0AH和00H对应的字符的含义。(1)char *mystring1:68H 65H 6CH 6CH 6FH 2CH 77H 6FH 72H 6CH 64H 0AH 00H (2)char *mystring2:77H 65H 20H 61H 72H 65H 20H 68H 61H 7
4、0H 70H 79H 21H 00H12. 以下给出的是一些字符串变量的初值,请写出对应的机器码。(1)char *mystring1=./myfile (2)char *mystring2=OK, good!13. 已知C语言中的按位异或运算(“XOR”)用符号“”表示。对于任意一个位序列a,aa=0,C语言程序可以利用这个特性来实现两个数值交换的功能。以下是一个实现该功能的C语言函数: 1 void xor_swap(int *x, int *y) 2 3 *y=*x *y; /* 第一步 */4 *x=*x *y; /* 第二步 */5 *y=*x *y; /* 第三步 */ 6 假定执
5、行该函数时*x和*y的初始值分别为a和b,即*x=a且*y=b,请给出每一步执行结束后,x和y各自指向的内存单元中的内容分别是什么?14. 假定某个实现数组元素倒置的函数reverse_array调用了第13题中给出的xor_swap函数: 1 void reverse_array(int a, int len) 3 int left, right=len-1;4 for (left=0; left 0; 4 已知C语言标准库函数strlen原型声明为“size_t strlen(const char *s);”,其中,size_t被定义为unsigned int类型。请问:函数compare
6、_str_len在什么情况下返回的结果不正确?为什么?为使函数正确返回结果应如何修改代码?19考虑以下C语言程序代码:1 int func1(unsigned word)3 return (int) ( word 24);4 5 int func2(unsigned word)6 7 return ( (int) word 24;8 假设在一个32位机器上执行这些函数,该机器使用二进制补码表示带符号整数。无符号数采用逻辑移位,带符号整数采用算术移位。请填写表2.14,并说明函数func1和func2的功能。表2.14 题19用表wfunc1(w)func2(w)机器数值12712825525620填写表2.15,注意对比无符号整数和带符号整数的乘法结果,以及截断操作前、后的结果。表2.15 题20用表模式xy(截断前)y(截断后)无符号110010带符号00111121以下是两段C语言代码,函数arith( )是直接用C语言写的,而optarith( )是对arith( )函数以某个确定的M和N编译生成的机器代码反编译生成的。根据optarith( ),可以推断函数arith( ) 中M和N的值各是多少?#define M #define N
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1