您所在位置: 网站首页 / 计算机系统第三章答案.doc / 文档详情
计算机系统第三章答案.doc 立即下载
2024-12-13
约1.3万字
约11页
0
176KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

计算机系统第三章答案.doc

计算机系统第三章答案.doc

预览

免费试读已结束,剩余 6 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

习题
3.参考答案:
(1)后缀:w,	源:基址+比例变址+偏移,	目:寄存器
(2)后缀:b,	源:寄存器,			目:基址+偏移
(3)后缀:l,	源:比例变址,				目:寄存器
(4)后缀:b,	源:基址,					目:寄存器
(5)后缀:l,	源:立即数,				目:栈
(6)后缀:l,	源:立即数,				目:寄存器
(7)后缀:w,	源:寄存器,				目:寄存器
(8)后缀:l,	源:基址+变址+偏移,		目:寄存器
4.参考答案:
(1)源操作数是立即数0xFF,需在前面加‘$’
(2)源操作数是16位,而长度后缀是字节‘b’,不一致
(3)目的操作数不能是立即数寻址
(4)操作数位数超过16位,而长度后缀为16位的‘w’
(5)不能用8位寄存器作为目的操作数地址所在寄存器
(6)源操作数寄存器与目操作数寄存器长度不一致
(7)不存在ESX寄存器
(8)源操作数地址中缺少变址寄存器
5.参考答案:
表3.12题5用表
src_typedst_type机器级表示charintmovsbl%al,(%edx)intcharmovb%al,(%edx)intunsignedmovl%eax,(%edx)shortintmovswl%ax,(%edx)unsignedcharunsignedmovzbl%al,(%edx)charunsignedmovsbl%al,(%edx)intintmovl%eax,(%edx)6.参考答案:
(1)xptr、yptr和zptr对应实参所存放的存储单元地址分别为:R[ebp]+8、R[ebp]+12、
R[ebp]+16。
	(2)函数func的C语言代码如下:
voidfunc(int*xptr,int*yptr,int*zptr)
		{
			inttempx=*xptr;
			inttempy=*yptr;
			inttempz=*zptr;
			*yptr=tempx;
*zptr=tempy;
			*xptr=tempz;
		}
7.参考答案:
(1)R[edx]=x
(2)R[edx]=x+y+4
(3)R[edx]=x+8*y
(4)R[edx]=y+2*x+12
(5)R[edx]=4*y
(6)R[edx]=x+y
8.参考答案:
(1)指令功能为:R[edx]←R[edx]+M[R[eax]]=0x00000080+M[0x8049300],寄存器EDX中内容改变。改变后的内容为以下运算的结果:00000080H+FFFFFFF0H
00000000000000000000000010000000
11111111111111111111111111110000

100000000000000000000000001110000

+

	因此,EDX中的内容改变为0x00000070。根据表3.5可知,加法指令会影响OF、SF、ZF和CF标志。OF=0,ZF=0,SF=0,CF=1。
(2)指令功能为:R[ecx]←R[ecx]-M[R[eax]+R[ebx]]=0x00000010+M[0x8049400],寄存器ECX中内容改变。改变后的内容为以下运算的结果:00000010H-80000008H
00000000000000000000000000010000
01111111111111111111111111111000

010000000000000000000000000001000

+

	因此,ECX中的内容改为0x80000008。根据表3.5可知,减法指令会影响OF、SF、ZF和CF标志。OF=1,ZF=0,SF=1,CF=10=1。
(3)指令功能为:R[bx]←R[bx]orM[R[eax]+R[ecx]*8+4],寄存器BX中内容改变。改变后的内容为以下运算的结果:0x0100orM[0x8049384]=0100HorFF00H
0000000100000000
1111111100000000

1111111100000000

or

	因此,BX中的内容改为0xFF00。由3.3.3节可知,OR指令执行后OF=CF=0;因为结果不为0,故ZF=0;因为最高位为1,故SF=1。
(4)test指令不改变任何通用寄存器,但根据以下“与”操作改变标志:R[dl]and0x80
10000000
10000000

10000000

andd

由3.3.3节可知,TEST指令执行后OF=CF=0;因为结果不为0,故ZF=0;因为最高位为1,故SF=1。
(5)指令功能为:M[R[eax]+R[edx]]←M[R[eax]+R[edx]]*32,即存储单元0x8049380中的内容改变为以下运算的结果:M[
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

计算机系统第三章答案

文档大小:176KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用