说明
- 本次测试老师将所有课下测试的易错题全部重新考察了一遍,虽然是第二次做,还提前复习过,还是错了很多,回到寝室发现老师还没有结束测试,43分的我又忍不住再做了一遍。
- 做第二遍发现了有几个题目是蓝墨云上答案错误,老师在课上纠正过的,我还是和蓝墨云上的一样的答案,在做第二遍的时候特意改了一下。
题目
(多选题|1分)假设用ADD指令完成C表达式t=a+b的功能,有关条件码寄存器的说法正确的是()
A.若t==0,则ZF=1
B.若t<0, 则CF=1
C.若t<0, 则SF=1
D.若(a<0==b<0)&&(t<0!=a<0),则OF=1
E.若(a<0==b<0)&&(t<0 != a<0), 则CF=1
F.leaq指令不影响条件码寄存器
G.cmp指令不影响条件码寄存器
正确答案:ACDF(第三章的第七题)
原因:对于C选项,书本P136上写道,当t<0时SF置为1,因此C选项也是正确的。
- ( 多选题 | 1 分)
假设%rax中的值为x, %rcx中的值为y,关于leaq指令,下面正确的()
A.leaq 6(%rax), %rdx; %rdx中值为6+x
B.leaq 6(%rax), %rdx; %rdx中值为6x
C.leaq 7(%rax,%rax,8),%rdx;%rdx中值为9x
D.leaq 7(%rax,%rax,8),%rdx;%rdx中值为63x
E.leaq 7(%rax,%rax,8),%rdx;%rdx中值为15x
- 正确答案:A(第三章的第十题)
原因:对于C选项,leap 7(%rax,%rax,8),%rdx;%rdx中的值应该是9x+7。因为括号内的数字应该用乘法,括号外的数字应该用加法
- ( 多选题 | 1 分)
Y86-64中()指令没有访存操作.
A.rrmovl
B.irmovq
C.rmmovq
D.pushq
E.jXX
F.ret
- 正确答案:ABE(第四章的第三题)
原因:对于E选项,书本P270旁注部分对于jxx命令访存部分是空着的,因此jxx命令没有访存操作。
- ( 多选题 | 1 分)In this circuit, the 2-bit signal code would then control the selection among the four data words A, B, C, and D. We can express the generation of signals s1 and s0 using equality tests based on the possible values of code,which is true( )
A.bool s1 = code == 2 || code == 3;
B.bool s0 = code == 2 || code == 3;
C.bool s1 = code in { 2, 3 };
D.bool s1 = code in { 2, 3 };
- 正确答案:ACD(第四章的八题)
- 原因:对于D选项,因CD选项一致,因此答案应是ACD
- 下面说法正确的是()未考
A.ALU是一种时序电路。
B.ALU是一种组合电路。
C.寄存器是一种时序电路
D.寄存器是一种组合电路
- 正确答案:BC(第四章的第十二题)
原因:对于D选项,寄存器应是一种时序电路。
- ( 多选题 | 1 分)
The following table gives the parameters for a number of different caches. For each cache, determine the number of cache sets (S), tag bits (t), set index bits (s),and block offset bits (b)
A.第三行S为1
B.第一行t为24
C.第二行b为5
D.第三行s的值为0
- 正确答案:AD(第六章的第三题)
- 原因:对于C选项,b的值应为3。**
- (多选题|1分)有关磁盘操作,说法正确的是()
A.对磁盘扇区的访问时间包括三个部分中,传送时间最小。
B.磁盘以字节为单位读写数据
C.磁盘以扇区为单位读写数据
D.读写头总处于同一柱面
- 正确答案:ACD(第六章的第十四题)
- 原因:对于D选项,书本P409磁盘操作的第一段最后一句写道:在任何时刻,所有的读/写头都位于同一个柱面上,因此D选项正确。
- (多选题|1分)关于open(2),下面说法正确的是( )
A.flag 参数中O_RDONLY,O_WRONLY,O_RDWR至少要有一个
B.O_RDONLY|O_WRONLY == O_RDWR
C.fd=open("foo.txt",O_WRONLY|O_APPEND,0),调用write(fd,buff,n)写入foo.txt的数据不会破坏已有数据。
D.fd=open("foo.txt",O_WRONLY|O_APPEND,0644),必将导致其他人不能写foo.txt
- 正确答案:ACD(第十章的第十题)
- 原因:对于D选项,open函数的第三个参数0644中表示其他人权限的是最后一个数字4,它的二进制形式是100,这三个数字的第二个数字0表示写的权限,0与上任何一个数都是0,即不管~umask的值是多少,与上的结果都是0,因此就不能对写foo.txt进行写操作。