好文档 - 专业文书写作范文服务资料分享网站

计算机组成实验

天下 分享 时间: 加入收藏 我要投稿 点赞

. . .. ..

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

所选答案: 正确答案:

A. 0 D. 2

得 10 分,满分 10 分

问题 2

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

x 的指定答案:

ld

x 的正确答案: ld

问题 3 得 10 分,满分 10 分

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

所选答案: 正确答案:

Linux 是一个运行在 保护模式下的 32/64 位操作系统。 Linux 是一个运行在 保护模式下的 32/64 位操作系统。

得 10 分,满分 10 分

问题 4

在指令leal 8(ìx,íx,4),êx中,假设ECX的内容是x,EDX的内容是y,则该指令实现的功能是计算[x]的值,并将其存入寄存器[y]中。

x 的指定答案: y 的指定答案:

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

x+4*y+8

y 的正确答案: EAX

eax

x+4y+8 eax

问题 5

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

所选答案: 正确答案:

得 0 分,满分 10 分

D. 0xFFFFFFFC B. 0xFFFFFFEC

问题 6 得 10 分,满分 10 分

假设:sizeof(int)=4, 声明int a[10],数组a的首地址在寄存器ecx中,数组下标i存放在edx中,表达式的结果存在eax中,则表达式a[i]对应的汇编代码是()

所选答案:

B. movl (ìx,íx,4),êx

v. .. . ..

. . .. ..

正确答案:

B. movl (ìx,íx,4),êx

得 5 分,满分 10 分

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

pushl ?p movl %esp, ?p subl $16, %esp movl $0, -8(?p) movl $0, -4(?p) jmp .L4 .L5:

movl 8(?p), êx imull -8(?p), êx addl 12(?p), êx movl êx, -4(?p) addl $1, -8(?p) .L4:

cmpl $29, -8(?p) jle .L5

movl -4(?p), êx leave ret

对应的C代码: int c(int x, int y) {

int i=0,result=0; while([1]) {

result=[2]; i++; }

return result; }

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

result+x*i

v. ..

. ..

. . .. ..

1 的正确答案: i<30

i<=29

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

i*x+y y+x*i y+i*x

问题 8 得 10 分,满分 10 分

假设:sizeof(int)=4, 声明int a[10],数组a的首地址在寄存器ecx中,数组下标i存放在edx中,表达式的结果存在eax中,则表达式a[0]对应的汇编代码是()

所选答案: 正确答案:

A. movl (ìx), êx A. movl (ìx), êx

问题 9

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

x 的指定答案:

x 的正确答案: continue

c

得 0 分,满分 10 分

n

问题 10 得 10 分,满分 10 分

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

x 的指定答案: y 的指定答案:

x 的正确答案: GAS

gas

y 的正确答案: as

gas as

问题 11 得 0 分,满分 10 分

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

所选答案: 错 正确答案: 对

问题 12 得 10 分,满分 10 分

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

器数发生了改变。

v. .. . ..

. . .. ..

所选答案: 否 正确答案: 否

问题 13

以下C语言源码: int get(int *p1,int *p2) {

if(p1>p2) return *p2; else

return *p1; }

请补充对应的汇编代码: get:

pushl ?p movl %esp, ?p movl 8(?p), íx movl 12(?p), êx [1] [2] [3] [4] .L2:

movl (íx), êx .L4:

popl ?p ret

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

int get(int *p1,int *p2) {

if(p1>p2) return *p2; else

return *p1; }

请补充对应的汇编代码: get:

pushl ?p movl %esp, ?p

v. ..

得 10 分,满分 10 分

. ..

. . .. ..

movl 8(?p), íx movl 12(?p), êx

cmpl êx, íx jbe .L2

movl (êx), êx jmp .L4

.L2:

movl (íx), êx .L4:

popl ?p ret

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

int get(int *p1,int *p2) {

if(p1>p2) return *p2; else

return *p1; }

请补充对应的汇编代码: get:

pushl ?p movl %esp, ?p movl 8(?p), íx movl 12(?p), êx

cmpl êx, íx jbe .L2

movl (êx), êx jmp .L4

.L2:

movl (íx), êx .L4:

popl ?p ret

问题 14

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

x 的指定答案:

run

得 10 分,满分 10 分

x 的正确答案: r

v. .. . ..

计算机组成实验

......若x=2,y=3,则x&y的结果是()所选答案:正确答案:A.0D.2得10分,满分10分问题2linux下标准的链接器是[x]
推荐度:
点击下载文档文档为doc格式
6rlv76adqu0fvqu4yw276b8ve00zl600v2m
领取福利

微信扫码领取福利

微信扫码分享