计算机组成实验_第1页
计算机组成实验_第2页
计算机组成实验_第3页
计算机组成实验_第4页
计算机组成实验_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

若x=2,y=3,则x&y的结果是()

锄所选答案:XA.0

正确答案:ZD.2

问题2得10分,满分10分

linux下标准的链接器是[x]

囱x的指定答案:/Id

x的正确答案:/Id

问题3得10分,满分10分

Linux是一个运行在[x]下的32/64位操作系统。

।两所选答案:Linux是一个运行在/保护模式下的32/64位操作系

直统。

正确答案:Linux是一个运行在/保护模式下的32/64位操作系

统。

问题4得10分,满分10分

在指令leal8(%ecx,%edx,4),%eax中,假设ECX的内容是x,EDX的内容是y,则该指令

实现的功能是计算[x]的值,并将其存入寄存器[y]中。

x的指定答案:/x+4y+8

'物y的指定答案:/eax

x的正确答案:/x+4y+8

/x+4*y+8

y的正确答案:/EAX

/eax

问题5得0分,满分10分

在32位机器上,表达式〜0x13值是()

所选答案:XD.OxFFFFFFFC

正确答案:/B.OxFFFFFFEC

问题6得10分,满分10分

假设:sizeof(int)=4,声明inta[10],数组a的首地址在寄存器ecx中,数组下标i存放在

囱edx中,表达式的结果存在eax中,则表达式a[i]对应的汇编代码是()

所选答案:/B.movl(%ecx,%edx,4),%eax

正确答案:/B.movl(%ecx,%edx,4),%eax

问题7得5分,满分10分

已知汇编,补充完整对应的C代码(填空的各个符号之间不要加空格)。

c:

pushl%ebp

movl%esp,%ebp

subl$16,%esp

movl$0,-8(%ebp)

movl$0,-4(%ebp)

jmp.L4

.L5:

movl8(%ebp),%eax

imull-8(%ebp),%eax

addl12(%ebp),%eax

movl%eax,-4(%ebp)

addl$1,-8(%ebp)

.L4:

cmpl$29,-8(%ebp)

jle.L5

movl-4(%ebp),%eax

leave

ret

对应的C代码:

intc(intx,inty)

(

inti=O,result=O;

while([1])

(

result=[2];

i++;

)

returnresult;

1的指定答案:/i<=29

2的指定答案:Xresult+x*i

1的正确答案:/i<30

/i<=29

2的正确答案:/x*i+y

/i*x+y

/y+x*i

/y+i*x

问题8得10分,满分10分

假设:sizeof(int)=4,声明inta[10],数组a的首地址在寄存器ecx中,数组下标i存放在

edx中,表达式的结果存在eax中,则表达式a⑼对应的汇编代码是()

饿

所选答案:/A.movl(%ecx),%eax

正确答案:/A.movl(%ecx),%eax

问题9得。分,满分10分

gdb下继续程序运行,直到下一个断点的命令是[x]

,荷X的指定答案:Xn

x的正确答案:/continue

/c

问题10得10分,满分10分

Linux平台的标准汇编器是[x],汇编命令是[y]。

X的指定答案:/gas

;窗y的指定答案:/as

x的正确答案:ZGAS

/gas

y的正确答案:Zas

问题11得0分,满分10分

所谓“机器字长”通常是指CPU内部用于整数运算的数据通路的宽度,因此“字长”等于

CPU内部用于整数运算的运算器位数和通用寄存器宽度。

所选答案:X错

正确答案:/对

问题12得10分,满分10分

@4C语言中允许无符号整数和带符号整数之间的转换,转换前后的机

器数发生了改变。

所选答案:/否

正确答案:/否

问题13得10分,满分10分

以下C语言源码:

intget(int*p1,int*p2)

(

if(p1>p2)

return*p2;

else

return*p1;

)

请补充对应的汇编代码:

get:

pushl%ebp

movl%esp,%ebp

movl8(%ebp),%edx

E

1

[1J

[2]

Lr3]

Lr4]

?

_

辍ov

m1

ov%eax

.L4:

popl%ebp

ret

所选答案:以下C语言源码:

intget(int*p1,int*p2)

{

if(p1>p2)

return*p2;

else

return*p1;

)

请补充对应的汇编代码:

get:

pushl%ebp

movl%esp,%ebp

movl8(%ebp),%edx

movl12(%ebp),%eax

/cmpl%eax,%edx

/jbe.L2

/movl(%eax),%eax

/jmp.L4

.L2:

movl(%edx)3%eax

.L4:

popl%ebp

ret

正确答案:以下C语言源码:

intget(int*p1,int*p2)

(

if(p1>p2)

return*p2;

else

return*p1;

)

请补充对应的汇编代码:

get:

pushl%ebp

movl%esp,%ebp

movl8(%ebp),%edx

movl12(%ebp),%eax

/cmpl%eax,%edx

/jbe.L2

/movl(%eax)5%eax

/jmp.L4

.L2:

movl(%edx),%eax

.L4:

popl%ebp

ret

问题14得10分,满分10分

gdb下运行程序的命令是[x]

X的指定答案:/run

X的正确答案:Zr

/run

问题15得10分,满分10分

删除文件命令为()

囱所选答案:ZD.rm

正确答案:/D.rm

问题16得。分,满分10分

C语言的按位运算有()(多选)

所选答案:/A.~

/D.&

4八|

正确答案:/A.~

ZD.&

/F.|

/H.A

问题17得0分,满分10分

C语言中表达式x|0xFF的功能是()

锄所选答案:XA.X的最低有效字节全变1,其余各位取反

正确答案:/C.X的最低有效字节全变1,其余各位不变

问题18得10分,满分10分

在位运算中,操作数每左移一位,其结果相当于()

所选答案:/D.操作数乘以2

正确答案:/D.操作数乘以2

问题19得。分,满分10分

gdb调试环境下,以十六进制方式查看寄存器eax内容的命令是[x]

1菌x的指定答案:Kforget

x的正确答案:Zp/x$eax

/print/x$eax

问题:得。分,满分10分

表达式0x13&0x17的值是()

锄所选答案:XA.0x17

正确答案:/B.0x13

问题:得。分,满分10分

如何删除一个非空子目录/tmp()

锄所选答案:XD.rm-rf/tmp/*

正确答案:/B.rm-rf/tmp

问题:得7.5分,满分10分

AT&T汇编格式中,长度后缀[x]表示指令中处理的操作数长度为字节,[y]表示字,[z]

表示双字,[w]表示四字。

x的指定答案:Zb

y的指定答案:/w

窗z的指定答案:/I

W的指定答案:Kd

x的正确答案:Zb

y的正确答案:/w

z的正确答案:/I

w的正确答案:/q

问题:得。分,满分10分

下列那一个指令可以设定使用者的密码()

锄所选答案:XB.pwd

正确答案:/C.passwd

问题:得。分,满分10分

C语言中主函数main可以有两个参数,intargc和char*argv口,其中argc表示命令行

参数的个数,不包括命令本身。

所选答案:X对

正确答案:/错

问题得10分,满分10分

()命令可更改一个文件的权限设置.

所选答案:JC.chmod

正确答案:/C.chmod

问题26得。分,满分10分

在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目

录的选项是()

猫所选答案:XD.-f

正确答案:/A.

-P

问题27得10分,满分10分

IA-32规定中,以下哪个寄存器不属于调用者保存寄存器?

囱所选答案:ZD.EBX

正确答案:/D.EBX

问题28得10分,满分10分

sizeof(int)=4,声明inta[10],数组a的首地址在寄存器ecx中,数组下标i存放在edx

中,表达式的结果存在eax中,则表达式&a[i]对应的汇编代码是()

所选答案:ZB.leal(%ecx,%edx,4),%eax

正确答案:/B.leal(%ecx,%edx,4),%eax

问题29得。分,满分10分

以下关于Linux目录的说法中哪个是正确的?(多选题)

所选答案:XC.所有用户的家目录都在/home下

ZD.内核存放在/boot目录下

正确答案:ZB./sbin目录下存放的命令任何普通用户都不能执行

ZD.内核存放在/boot目录下

问题30得10分,满分10分

以下不是C语言的标准的是()

所选答案:/D.ISOC92

正确答案:/D.ISOC92

问题31得0分,满分10分

以下不能查看文件内容的命令是()

锄所选答案:XB.less

正确答案:/A.Is

问题32得。分,满分10分

下面哪个系统目录中包含Linux使用的外部设备()

锄所选答案:XD./bin

正确答案:/C./dev

问题33得0分,满分10分

下面哪个是你学习字符界面的原因?

所选答案:XC.你的系统可能没装某个特殊的命令;

ZD.

服务器可能没有图形界面;

正确答案:/D.

服务器可能没有图形界面;

问题34得0分,满分10分

用GDB调试C语言程序时,需要生成的可执行程序中包含调试信息,下面能生成调试

信息的正确命令是()。

所选答案:XB.gcc-E

正确答案:/C.gcc-g

问题35得0分,满分10分

在32位机器上运行以下代码,sizeof(void*)的值是()

voidshow_pointer(void*x){

show_bytes((byte_pointer)&x,sizeof(void*));

所选答案:XA.2

正确答案:/B.4

问题36得。分,满分10分

己知汇编,请补充完整对应的C程序(填空各个符号之间不要有空格)。

a:

pushl%ebp

movl%esp,%ebp

movl8(%ebp),%edx

movl12(%ebp),%eax

cmpl%eax,%edx

jle.L2

subl%eax,%edx

movl%edx,%eax

jmp.L4

.L2:

subl%edx,%eax

.L4:

popl%ebp

ret

锄C程序:

inta(intx,inty)

(

if([1])

return[2];

else

return[3];

)

1的指定答案:X[未给定]

2的指定答案:K[未给定]

3的指定答案:K[未给定]

1的正确答案:Zx>y

2的正确答案:Zx-y

3的正确答案:,y-x

问题37得10分,满分10分

linux下执行as命令时加上参数[x]可以使生成的目标程序包含符号表,能够进行调试。

;曲x的指定答案:,gstabs

x的正确答案:/-gstabs

/gstabs

问题38得7.5分,满分10分

假设8位带符号整数变量x和y的机器数分别是X和Y。如X=A6H,Y=3FH,则执行

x+y的运算结果中,标志位CF=[x],OF=[y],执行x-y的运算结果中,CF=[u],OF=[v]c

x的指定答案:K1

y的指定答案:Z0

③当u的指定答案:/0

口v的指定答案:zi

X的正确答案:/0

y的正确答案:Z0

u的正确答案:Z0

v的正确答案:Z1

问题39得10分,满分10分

操作系统内核定义为:

''窗所选答案:/D.介于硬件和应用程序之间的部分,为应用程序提供相关服务;

正确答案:ZD.介于硬件和应用程序之间的部分,为应用程序提供相关服务;

问题40得5分,满分10分

假设8位无符号整数变量x和y的机器数分别是X和Y。如X=A6H,Y=3FH,则执行

x+y的运算结果中,标志位CF=[x],OF=[y],执行x-y的运算结果中,CF=[u],OF=[v].

x的指定答案:K1

y的指定答案:/0

蹩]u的指定答案:K1

v的指定答案:/1

x的正确答案:/0

y的正确答案:/o

u的正确答案:/0

V的正确答案:Z1

问题41得。分,满分10分

以下关于Linux目录的说法中哪个是错误的?

’通所选答案:XD.日志大多存放在/var目录下

正确答案:/A./lib下存放了几乎所有的配置文件

问题42得。分,满分10分

有些微处理器芯片,如Alpha和Motoral的PowerPC,需要在芯片加电启动时选择确定

数据存储模式是采用大端模式还是小端模式。

所选答案:X[未给定]

正确答案:/对

问题43得10分,满分10分

如下哪一个命令可以帮助你知道shell命令的用法()

‘窗所选答案:/C.man

正确答案:ZC.man

问题44得0分,满分10分

在32位机器上,float类型的精度是()

锄所选答案:XD.8

正确答案:/A.7

问题45得10分,满分10分

采用移位运算进行常量的除法运算时,对于带符号整数X,如果x<0,则在移位之前,先

要将x加上偏移量,再右移,目的是使商朝。方向舍入。

所选答案:/对

正确答案:/对

问题46得0分,满分10分

在文件内进行搜索的命令()

所选答案:XB.search

正确答案:/A.grep

问题47得10分,满分10分

以下关于开源软件的说法,哪一个说法一定是正确的?

所选答案:/D.

?€€€€开源软件也有许可协议

正确答案:/D.

统法开源软件也有许可协议

问题,得。分,满分10分

改变文件所有权的命令是()

锄所选答案:XA.chmod

正确答案:/D.chown

问题-得10分,满分10分

linux和windows一样,不区分大小写。

物所选答案:/错

正确答案:/错

问题;得0分,满分10分

gdb调试环境下,查看CPU所有寄存器的命令是[x]

锄x的指定答案:未给定]

x的正确答案:/inforegister

问题!得10分,满分10分

在C语言中,如果执行一个运算时同时有无符号数和带符号数参加,

那么,C编译器会隐含的将无符号数强制类型转换为带符号数。

所选答案:/否

正确答案:/否

问题:得0分,满分10分

脑计算机存储中大小端的端(Endian)来源于()

所选答案:XC.

丁丁历险记

正确答案:/D.格列弗游记

问题;得0分,满分10分

某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件

的权限为()

所选答案:XD.476

正确答案:/C.764

问题!得10分,满分10分

linux安装分区,SWAP分区分配多大比较适合?

辍所选答案:/C.内存的2倍,最大不超过2G

正确答案:ZC.内存的2倍,最大不超过2G

问题1得。分,满分10分

gdb调试程序时单步进入过程调试的命令是[x]。

锄x的指定答案:X[未给定]

x的正确答案:/step

Zs

问题!得。分,满分10分

阅读以下代码:

intexchange(int*xp,inty)

(

锄intx=*xp;

*xp=y;

returnx;

该代码中的变量X在对应的机器级代码中,通常是保存在[X]中,而不是存储器中。当过

程体开始执行时,过程参数xp和y存储在相对于寄存器%ebp中地址值偏移[y]和[z]中。

x的指定答案:X[未给定]

y的指定答案:X[未给定]

z的指定答案:X[未给定]

x的正确答案:/寄存器

y的正确答案:Z8

z的正确答案:/12

问题57得。分,满分10分

在使用GCC编译器的过程中,以下()选项可用来指定生成的目标文件名。

团所选答案:XA.-c

正确答案:/D.-o

问题58得10分,满分10分

C语言中对同一类型的数据,并不是所有机器都采用相同的数据宽度,分配的字节数随

处理器和编译器的不同而不同。

所选答案:/对

正确答案:/对

问题59得0分,满分10分

已知汇编代码如下:

fun:

pushl%ebp

movl%esp,%ebp

movl8(%ebp),%eax

sari$2,%eax

movl12(%ebp),%ecx

sail%cl,%eax

popl%ebp

ret

请补充完整对应的C语言表达式:(注意:表达式的运算符号之间不要加空格)

intfun(intx,intn)

(

[1];

returnx;

1的指定答案:X[未给定]

2的指定答案:X[未给定]

1的正确答案:Zx»=2

Zx=x»2

2的正确答案:/x«=n

Zx=x«n

问题60得10分,满分10分

在RedHatLinux中,系统默认的()用户对整个系统拥有完全的控制权。

所选答案:/D.

物root

正确答案:/D.

root

问题61得10分,满分10分

C语言支持多种格式的整数和浮点数表示。数据类型char表示单个字节,能用来表示单

个字符(ASCII码),也可以用来表示单个字节。

所选答案:/对

正确答案:/对

问题62得。分,满分10分

表达式0x13"0x17的值是()

锄所选答案:X[未给定]

正确答案:/C.0x04

问题63得。分,满分10分

默认情况下管理员创建了一个普通用户,就会在()目录下创建一个用户主目

录。

所选答案:X[未给定]

正确答案:/D./home

问题64得。分,满分10分

己知shortx=-12345;执行x«2和x>>2;的结果分别是[x]和[y]。

镯:

X的指定答案:K[未给定]

y的指定答案:K[未给定]

x的正确答案:/16156

y的正确答案:/-3087

问题65得。分,满分10分

IA-32处理器主要有两种工作方式,即[X]模式和保护模式。

'荷x的指定答案:K[未给定]

x的正确答案:/实地址

/实

问题66得。分,满分10分

用Is-al命令列出下面的文。件列表,是符号连接文件的是()

物所选答案:X[未给定]

正确答案:/D.Irwxr-r—1helusers7Sep1208:12cheng

问题67得0分,满分10分

每个过程都有自己的栈区,称为栈帧。因此,在程序执行时,一个栈有若干栈帧组成,

每个栈帧用专门的[1]指定起始位置。当前栈帧的范围在[2]和[3]指向的区域之间。由于

不断有数据出入,所以[4]会动态移动,而[5]可以固定不变。

所选每个过程都有自己的栈区,称为栈帧。因此,在程序执行时,一个栈有若干

冽答案:栈帧组成,每个栈帧用专门的X[未给定]指定起始位置。当前栈帧的范围在

笆X[未给定]和X[未给定]指向的区域之间。由于不断有数据出入,所以X[未

给定]会动态移动,而X[未给定]可以固定不变。

正确每个过程都有自己的栈区,称为栈帧。因此,在程序执行时,一个栈有若干

答案:栈帧组成,每个栈帧用专门的/EBP指定起始位置。当前栈帧的范围在

/EBP和/ESP指向的区域之间。由于不断有数据出入,所以/ESP会动

态移动,而/EBP可以固定不变。

问题68得0分,满分10分

gcc支持的C语言源程序扩展名为[X]

।荷x的指定答案:X[未给定]

X的正确答案:/.C

/c

问题69得。分,满分10分

源已知C源码如下:

intsub(intx,inty)

(

returnx-y;

)

intcaller()

(

inta=300;

intb=1OO;

intdiff=sub(a,b);

returndiff;

)

请补充完整对应的汇编代码:

sub:

pushl%ebp

movl%esp,%ebp

[1]

[2]

popl%ebp

ret

caller:

pushl%ebp

movl%esp,%ebp

[3]

[4]

[5]

[6]

leave

ret

所选答案:已知C源码如下:

intsub(intx,inty)

(

returnx-y;

)

intcaller()

(

inta=300;

intb=1OO;

intdiff=sub(a,b);

returndiff;

请补充完整对应的汇编代码:

sub:

pushl%ebp

movl%esp,%ebp

X[未给定]

X[未给定]

popl%ebp

ret

caller:

pushl%ebp

movl%esp,%ebp

X[未给定]

X[未给定]

X[未给定]

X[未给定]

leave

ret

正确答案:已知C源码如下:

intsub(intx,inty)

(

returnx-y;

}

intcaller()

{

inta=300;

intb=100;

intdiff=sub(a,b);

returndiff;

)

请补充完整对应的汇编代码:

sub:

pushl%ebp

movl%esp,%ebp

/movl8(%ebp),%eax

/subl12(%ebp),%eax

popl%ebp

ret

caller:

pushl%ebp

movl%esp,%ebp

/subl$8,%esp

/movl$100,4(%esp)

/movl$300,(%esp)

/callsub

leave

ret

问题70得0分,满分10分

阅读以下C代码,补充完整对应的汇编代码:

intloop(intx,inty,intn)

(

do{

x+=n;

y*=n;

n-;

)

―while((n>0)&&(y<n));

returnx;

)

汇编代码:

loop:

pushl%ebp

movl%esp,%ebp

movl8(%ebp),%eax

movl12(%ebp),%ecx

movl16(%ebp),%edx

.L3:

[1]

[3]

[4]

[5]

[6]

[7]

.L5:

popl%ebp

ret

所选答案:阅读以下C代码,补充完整对应的汇编代码:

intloop(intx,inty,intn)

do{

x+=n;

y*=n;

n-;

}

while((n>O)&&(y<n));

returnx;

汇编代码:

loop:

pushl%ebp

movl%esp,%ebp

movl8(%ebp),%eax

movl12(%ebp),%ecx

movl16(%ebp),%edx

.L3:

X[未给定]

X[未给定]

X[未给定]

X[未给定]

X[未给定]

X[未给定]

X[未给定]

.L5:

popl%ebp

ret

正确答案:阅读以下C代码,补充完整对应的汇编代码:

intloop(intx,inty,intn)

(

do{

x+=n;

y*=n;

n-;

)

while((n>O)&&(y<n));

returnx;

}

汇编代码:

loop:

pushl%ebp

movl%esp,%ebp

movl8(%ebp),%eax

movl12(%ebp),%ecx

movl16(%ebp),%edx

,L3:

/addl%edx,%eax

/imull%edx,%ecx

/subl$1,%edx

/testl%edx,%edx

/jle.L5

/cmpl%edx,%ecx

/jl.L3

,L5:

popl%ebp

ret

问题71得0分,满分10分

锄如果要列出一个目录下的所有文件需要使用命令行()

所选答案:X[未给定]

正确答案:/A.Is-a

问题72得0分,满分10分

在计算机的数据存储中,如果以字节为一个排列基本单位,那么LSB表示()

锄所选答案:X[未给定]

正确答案:ZB.最低有效字节

问题73得。分,满分10分

gdb调试查看变量值的命令是[x]

I荷X的指定答案:X[未给定]

x的正确答案:/print

/P

问题74得。分,满分10分

GCC的编译流程分为了四个步骤,分别为[x],[y],[z],写中文)。

x的指定答案:K[未给定]

y的指定答案:X[未给定]

z的指定答案:K[未给定]

锄r的指定答案:X[未给定]

x的正确答案:,预处理

y的正确答案:/编译

z的正确答案:/汇编

r的正确答案:,链接

问题75得0分,满分10分

某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,

则该文件的权限为()

所选答案:X[未给定]

正确答案:/A.764

问题76得0分,满分10分

锄对文件重命名的命令为()

所选答案:X[未给定]

正确答案:/B.mv

问题77得。分,满分10分

已知函数如下:

voidxor_swap(int*x,int*y)

(

//(1)

*y=*xA*y;//(2)

仍*x=*xzy;〃⑶

*y=*x"*y;〃(4)

执行xojswap⑶5);语句,则在上述程序中表达式(2)执行完毕,*y的值是凶.

x的指定答案:K[未给定]

x的正确答案:Z6

问题78得。分,满分10分

在intel机器上运行以下代码,simple_show函数的输出内容是(〉

typedefunsignedchar*byte_pointer;

voidshow_bytes(byte_pointerstart,intlen){

inti;

for(i=0;i<len;i++)

printf("%.2x",start[i]);

printf("\n");

物1

1~1voidsimple_show(){

intval=0x87654321;

byte_pointervalp=(bytejDointer)&val;

show_bytes(valp,1);

所选答

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论