计算机系统第三章答案
- 格式:doc
- 大小:176.00 KB
- 文档页数:11
计算机操作系统在线学堂•得分:8••评语:••名称计算机操作系统•成绩类型百分制•截止时间2022-07-22 23:59•题目数5•总分数10说明第二次见面课课后测验提示:选择题选项顺序为随机排列•第1部分•总题数:51【单选题】 (2分)关于同步和互斥关系,以下叙述错误的是:A.并发进程推进过程中由于共享互斥资源可能形成互斥关系B.互斥表现的是一种竞争关系,互斥进程不能同时使用互斥资源C.并发进程推进过程中围绕共享资源可能形成合作关系D.同步表现的是进程之间的合作关系,同步进程可以同时使用临界资源2【单选题】 (2分)关于临界区和临界资源的说法,错误的是A.并发进程体中关于同一临界资源的临界区称为相关临界区B.临界区指的是进程体中使用临界资源的代码段C.一个进程体中只能有一块临界区D.临界资源指的是并发进程并发推进过程中需要共享但是不能同时共享的资源3【多选题】 (2分)PV操作可用来实现A.并发进程间的互斥B.进程间少量信息的传递C.并发进程间的同步D.进程间大量信息的传递4【判断题】 (2分)为了让用户进程互斥地进入临界区,可以把整个临界区实现成不可中断的过程,即让用户具有屏蔽所有中断的能力。
每当用户程序进入临界区的时候,屏蔽所有中断。
当出了临界区的时候,再开放所有中断A.对B.错5【判断题】 (2分)互斥是指不但不能同时用,谁先用谁后用也有严格约束A.错B.对总分8第1部分12345Copyright © 2003-现在Zhihuishu. All rights reserved.沪ICP备10007183号-5沪公网备31010402003974号电子营业执照计算机操作系统在线学堂•得分:10••评语:••名称计算机操作系统•成绩类型百分制•截止时间2022-07-22 23:59•题目数5•总分数10说明第一次见面课课后测验提示:选择题选项顺序为随机排列•第1部分•总题数:51【单选题】 (2分)以下关于进程的表述错误的是A.进程具有独立性,进程是分配资源和参与CPU调度的独立单位B.进程具有动态性,操作系统为了描述和管理程序动态的执行过程才引入了“进程”C.进程是一个程序的一次动态执行过程,进程由要执行的代码和要处理的数据组成D.进程具有并发性和异步性,每个进程的推进速度都是不可预知的2【单选题】 (2分)下列哪一种进程状态转换是不可能的A.阻塞态→运行态B.就绪态→运行态C.运行态→就绪态D.运行态→阻塞态3【判断题】 (2分)进程是按异步方式运行的,即,它的推进速度是不可预知的A.对B.错4【判断题】 (2分)一个进程由程序代码、数据集和进程控制块TCB组成。
第三章习题一、填空题:1.广泛使用的A.______和B.______都是半导体随机读写存储器。
前者速度比后者C.______,集成度不如后者高。
2.CPU能直接访问A.______和B.______,但不能直接访问磁盘和光盘。
3.广泛使用的 ______和 ______都是半导体随机读写存储器,前者比后者速度快, ___ ___不如后者高。
它们断电后都不能保存信息。
4.由于存储器芯片的容量有限,所以往往需要在A.______和B.______两方面进行扩充才能满足实际需求。
5.Cache是一种A______存储器,是为了解决CPU和主存之间B______不匹配而采用的一项重要的硬件技术。
6.虚拟存贮器通常由主存和A______两级存贮系统组成。
为了在一台特定的机器上执行程序,必须把B______映射到这台机器主存贮器的C______空间上,这个过程称为地址映射。
7.半导体SRAM靠A______存贮信息,半导体DRAM则是靠B______存贮信息。
8.主存储器的性能指标主要是存储容量,A.______和B.______。
9.由于存储器芯片的容量有限,所以往往需要在A.______和B.______两方面进行扩充才能满足实际需求。
10.存储器和CPU连接时,要完成A.______的连接;B.______的连接和C.______的连接,方能正常工作。
11.广泛使用的A.______和B.______都是半导体随机读写存储器,它们共同的特点是C.______。
12.对存储器的要求是A.______,B.______,C.______,为了解决这三个方面的矛盾。
计算机采用多级存储器体系结构。
13.虚拟存贮器通常由主存和A______两级存贮系统组成。
为了在一台特定的机器上执行程序,必须把B______映射到这台机器主存贮器的C______空间上,这个过程称为地址映射。
14.多个用户共享主存时,系统应提供A______。
大学计算机基础第三章Windows操作系统基础(选择题)1、在 Windows 界面中,当一个窗口最小化后,其位于( )。A.标题栏B.任务栏C.菜单栏D.工具栏正确答案:B2、要参看或修改文件夹或文件的属性,可选中该文件夹或文件单击鼠标右键的( )命令。A.还原B.属性C.复制D.文件正确答案:B3、关于 Windows 文件命名的规定,正确的是( )。A.文件名可用字符、数字或汉字命名,文件名最多使用 8 个字符B.文件名中不能有空格和扩展名间隔符“. ”C.文件名可用所有的字符、数字或汉字命名D.文件名可用允许的字符、数字或汉字命名正确答案:D4、Windows 中的用户账户 Administrator( )。A.是受限账户B.是来宾账户C.是管理员账户D.是无密码账户正确答案:C5、Windows 文件的目录结构是( )。A.树形结构B.矩形结构C.网状结构D.环状结构正确答案:A6、使用下面哪种关机方式后再启动计算机时间最长? ( )。A.休眠B.锁定C.睡眠D.注销正确答案:A7、要一次选择多个不连续的文件,可以先按住( )键,再用鼠标逐个选取。A.TabB.ShiftC.AltD.Ctrl正确答案:D8、要弹出快捷菜单,可利用鼠标( )来实现。A.左键单击B.右键单击C.双击D.拖动正确答案:B9、在 Windows 环境中,若应用程序出现故障或死机,如果要弹出“任务管理器”窗口,通过结束任务结束出现故障的程序。这时按组合键( )。A.Ctrl + Alt + DelB.Ctrl + Alt + ShiftC.Ctrl + Alt + EndD.Ctrl + Alt + Tab正确答案:A10、在 Windows 中,任务栏上的内容为( )。A.已经打开的文件名B.所有已打开窗口的图标C.当前窗口的图标D.关机前的程序图标正确答案:B11、在 Windows 中,可以调整计算机软硬件配置的应用程序是( )。A.资源管理器B.WordC.ExcelD.控制面板正确答案:D12、Windows 7 中,显示桌面按钮在桌面的( )。A.右下方B.左上方C.左下方D.右上方正确答案:A13、一个文件的路径是用来描述( )。A.用户操作步骤B.程序的执行步骤C.文件在磁盘上的存储位置D.文件存在哪个磁盘上正确答案:C14、文件的类型可以根据( )来识别。A.文件的大小B.文件的用途C.文件的存放位置D.文件的扩展名正确答案:D15、在 Windows 默认环境中,下列 4 组键中,系统默认的中英文输入切换键是( )。A.Shift + 空格B.Ctrl + ShiftC.Ctrl + AltD.Ctrl + 空格正确答案:D16、操作系统的主要功能包括()A.运算器管理、存储管理、设备管理、处理器管理B.文件管理、设备管理、系统管理、存储管理C.文件管理、处理器管理、设备管理、存储管理D.处理管理、设备管理、程序管理、存储管理正确答案:C17、在Windows7操作系统中,显示桌面的快捷键是()A.“Alt”+“Tab”B.“Win”+“D”C.“Win”+“P”D.“Win”+“Tab”正确答案:C18、安装Windows7操作系统时,系统磁盘分区必须为( )格式才能安装。
第一章操作系统概述课后习题1. 硬件将处理机划分为两种状态,即管态和目态,这样做给操作系统设计带来什么好处 ? 答:便于设计安全可靠的操作系统。
管态和目态是计算机硬件为保护操作系统免受用户程序的干扰和破坏而引入的两种状态。
通常操作系统在管态下运行,可以执行所有机器指令;而用户程序在目态下运行,只能执行非特权指令。
如果用户程序企图在目态下执行特权指令,将会引起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。
2. 何为特权指令?举例说明之。
如果允许用户执行特权指令,会带来什么后果?答:只能在态下才能执行的指令称为特权指令。
如开关中断、置程序状态寄存器等。
如果允许用户执行特权指令,它将不仅影响当前运行的程序,而且还有可能影响操作系统的正常运行,甚至整个系统。
3. 中断向量在机器中的存储位置是由硬件确定的,还是由软件确定的 ? 答:中断向量在机器中的位置是由硬件确定的。
例如,在 INTEL 80x86 CPU 中,内存空间0x00000——0x003ff为中断向量空间。
4. 中断向量的内容是由操作系统程序确定的还是由用户程序确定的?答:中断向量的内容是由操作系统程序确定的。
向量的内容包括中断处理程序的入口地址和程序状态字(中断处理程序运行环境),中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该中断处理程序的运行环境来填写中断向量。
5. 中断向量内的处理机状态位应当标明是管态还是目态 ? 为什么? 答:应当标明是管态。
该状态由系统初试化程序设置,这样才能保证中断发生后进入操作系统规定的中断处理程序。
6. 中断和程序并发之间的关系是什么?答:中断是程序并发的必要条件。
如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程序将一直运行到结束而不会被打断。
7. 说明“栈”和“堆”的差别.答:栈是一块按后进先出(FIFO)规则访问的存储区域,用来实现中断嵌套和子程序调用的参数和返回断点。
第一章绪论1.什么是操作系统的基本功能?答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。
操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。
2.什么是批处理、分时和实时系统?各有什么特征?答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。
其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。
分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。
其主要特征是:交互性、多用户同时性、独立性。
实时系统(realtimesystem):在被控对象允许时间范围内作出响应。
其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。
3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时执行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。
要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。
4.讨论操作系统可以从哪些角度出发,如何把它们统一起来?答:讨论操作系统可以从以下角度出发:(1)操作系统是计算机资源的管理者;(2)操作系统为用户提供使用计算机的界面;(3)用进程管理观点研究操作系统,即围绕进程运行过程来讨论操作系统。
上述这些观点彼此并不矛盾,只不过代表了同一事物(操作系统)站在不同的角度来看待。
每一种观点都有助于理解、分析和设计操作系统。
计算机操作系统每章习题及答案《操作系统》复习题第一章操作系统引论一、单项选择题1、操作系统是一种( B )。
A.应用软件B. 系统软件C.通用软件D. 工具软件2、操作系统是一组( C )。
A.文件管理程序B.中断处理程序C.资源管理程序D.设备管理程序3、现代操作系统的基本特征是( C )、资源共享和操作的异步性。
A.多道程序设计B. 中断处理C.程序的并发执行D. 实现分时与实时处理4、( D )不是操作系统关心的主要问题。
A. 管理计算机裸机B. 设计、提供用户程序与计算机硬件系统的界面C. 管理计算机系统资源D. 高级程序设计语言的编译器5、引入多道程序的目的在于( A )。
A. 充分利用CPU,减少CPU等待时间B. 提高实时响应速度C. 有利于代码共享,减少主、辅存信息交换量D. 充分利用存储器6、( A )没有多道程序设计的特点。
A. DOSB. UNIXC. WindowsD.OS/27、下列操作系统中,为分时系统的是( C )。
A. CP/MB. MS-DOSC. UNIXD. Windows NT8、在分时系统中,时间片一定,( B ),响应时间越长。
A.内存越多B.用户数越多C.后备队列越短D.用户数越少9、批处理系统的主要缺点是( B )。
A.CPU的利用率不高B.失去了交互性C.不具备并行性D.以上都不是10、在下列性质中,( D )不是分时系统的特征。
A. 交互性B. 同时性C. 及时性D. 独占性11、实时操作系统追求的目标是( C )。
A.高吞吐率B.充分利用内存C. 快速响应D. 减少系统开销12、CPU状态分为系统态和用户态,从用户态转换到系统态的唯一途径是( C )。
A. 运行进程修改程序状态字B. 中断屏蔽C. 系统调用D. 进程调度程序13、系统调用的目的是(A )。
A.请求系统服务B.终止系统服务C.申请系统资源D.释放系统资源14、系统调用是由操作系统提供的内部调用,它(B )。
第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象12.试从交互性、及时性以及可靠性方面,将分时系统不实时系统进行比较。
答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。
(2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。
不像分时系统那样能向终端用户提供数据和资源共享等服务。
(3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。
因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。
13.OS有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
第二章6.试从动态性,并发性和独立性上比较进程和程序?答:(1)动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。
进程有一定的生命期,而程序只是一组有序的指令集合,是静态实体。
(2)并发性是进程的重要特征,同时也是OS的重要特征。
引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。
(3)独立性是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。
对于未建立任何进程的程序,不能作为独立单位参加运行。
7.试说明PCB的作用,为什么说PCB是进程存在的惟一标志?答:PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。
第一章计算机系统概论习题答案1、答:计算机系统由硬件和软件两大部分组成。
硬件即指计算机的实体部分,它由看得见摸的着的各种电子元器件,各类光电、机设备的实物组成,如主机、外设等。
软件时看不见摸不着的,由人们事先编制成具有各类特殊功能的信息组成,用来充分发挥硬件功能,提高机器工作效率,便于人们使用机器,指挥整个计算机硬件系统工作的程序集合。
软件和硬件都很重要。
2、答:从计算机系统的层次结构来看,它通常可有五个以上的不同级组成,每一个上都能进行程序设计。
由下至上可排序为:第一级微程序机器级,微指令由硬件直接执行;第二级传统机器级,用微程序解释机器指令;第三级操作系统级,一般用机器语言程序解释作业控制语句;第四级汇编语言机器级,这一级由汇编程序支持和执行;第五级高级语言机器级,采用高级语言,由各种高级语言编译程序支持和执行,还可以有第六级应用语言机器级,采用各种面向问题的应用语言。
3、答:机器语言由0、1代码组成,是机器能识别的一种语言。
汇编语言是面向机器的语言,它由一些特殊的符号表示指令,高级语言是面向用户的语言,它是一种接近于数学的语言,直观,通用,与具体机器无关。
4、答:计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。
计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性,通常是指用机器语言编程的程序员所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O机理等等,大都属于抽象的属性。
5、答:特点是:(1) 计算机由运算器、存储器、控制器和输入设备、输出设备五大部件组成(2) 指令和数据以同等的地位存放于存储器内,并可以按地址寻访(3) 指令和数据均可以用二进制代码表示(4) 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置(5) 指令在存储器内按顺序存放。
通常,指令是顺序执行的,在特定情况下,可根据运算结果或根据设定的条件改变执行顺序(6) 机器以运算器为中心,输入输出设备与存储器的数据传送通过运算器。
计算机系统基础袁春风第二版课后答案计算机系统基础是计算机科学与技术专业中非常重要的一门课程。
它主要介绍了计算机系统的基本原理、结构和运行机制等内容。
为了帮助同学们更好地理解和掌握这门课程,袁春风老师编写了《计算机系统基础》第二版,并在课后附上了一系列的习题与答案。
本文将就该书第二版的课后答案进行论述和解答。
第一章:计算机系统概述本章主要介绍了计算机系统的概念、发展历程以及计算机硬件和软件的基本组成部分等。
通过学习本章,同学们可以了解到计算机系统的总体结构,为后续章节的学习打下坚实的基础。
第二章:数字逻辑与数字系统本章主要介绍了数字逻辑与数字系统的基本概念和基本形式,如布尔代数、逻辑函数、逻辑门电路等。
同时,还涉及到数字系统的组合逻辑和时序逻辑设计等内容。
通过学习本章,同学们可以更好地理解和掌握数字逻辑与数字系统的相关知识,为后续章节的学习打下坚实的基础。
第三章:存储系统本章主要介绍了计算机存储系统的基本概念、结构和存储器的层次结构等。
同时,还涉及到存储系统的性能指标和存储器的组成原理。
通过学习本章,同学们可以更好地理解和掌握计算机存储系统的相关知识,为后续章节的学习打下坚实的基础。
第四章:指令系统本章主要介绍了计算机的指令系统和指令的执行方式等。
同时,还涉及到指令的寻址方式和指令的编码方式等内容。
通过学习本章,同学们可以更好地理解和掌握计算机的指令系统,为后续章节的学习打下坚实的基础。
第五章:中央处理器本章主要介绍了计算机的中央处理器(CPU)的基本组成和工作原理等。
同时,还涉及到CPU的指令执行过程和数据传输方式等内容。
通过学习本章,同学们可以更好地理解和掌握计算机的中央处理器的相关知识,为后续章节的学习打下坚实的基础。
第六章:总线与I/O系统本章主要介绍了计算机系统中的总线和I/O系统的基本概念和工作原理等。
同时,还涉及到总线的分类和总线的组织方式等内容。
通过学习本章,同学们可以更好地理解和掌握计算机系统中总线和I/O系统的相关知识,为后续章节的学习打下坚实的基础。
word 文档下载后可自由复制编辑你计算机系统结构清华第 2 版习题解答word 文档下载后可自由复制编辑1 目录1.1 第一章(P33)1.7-1.9 (透明性概念),1.12-1.18 (Amdahl定律),1.19、1.21 、1.24 (CPI/MIPS)1.2 第二章(P124)2.3 、2.5 、2.6 (浮点数性能),2.13 、2.15 (指令编码)1.3 第三章(P202)3.3 (存储层次性能), 3.5 (并行主存系统),3.15-3.15 加 1 题(堆栈模拟),3.19 中(3)(4)(6)(8)问(地址映象/ 替换算法-- 实存状况图)word 文档下载后可自由复制编辑1.4 第四章(P250)4.5 (中断屏蔽字表/中断过程示意图),4.8 (通道流量计算/通道时间图)1.5 第五章(P343)5.9 (流水线性能/ 时空图),5.15 (2种调度算法)1.6 第六章(P391)6.6 (向量流水时间计算),6.10 (Amdahl定律/MFLOPS)1.7 第七章(P446)7.3 、7.29(互连函数计算),7.6-7.14 (互连网性质),7.4 、7.5 、7.26(多级网寻径算法),word 文档下载后可自由复制编辑7.27 (寻径/ 选播算法)1.8 第八章(P498)8.12 ( SISD/SIMD 算法)1.9 第九章(P562)9.18 ( SISD/多功能部件/SIMD/MIMD 算法)(注:每章可选1-2 个主要知识点,每个知识点可只选 1 题。
有下划线者为推荐的主要知识点。
)word 文档 下载后可自由复制编辑2 例 , 习题2.1 第一章 (P33)例 1.1,p10假设将某系统的某一部件的处理速度加快到 10倍 ,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?解:由题意可知: Fe=0.4, Se=10,根据 Amdahl 定律S n To T n1 (1Fe )S n 1 10.6 0.4100.64 Fe Se 1.56word 文档 下载后可自由复制编辑例 1.2,p10采用哪种实现技术来求浮点数平方根 FPSQR 的操作对系统的性能影响较大。
习 题 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_type dst_type 机器级表示 char int movsbl %al, (%edx) int char movb %al, (%edx) int unsigned movl %eax, (%edx) short int movswl %ax, (%edx) unsigned char unsigned movzbl %al, (%edx) char unsigned movsbl %al, (%edx) int int movl %eax, (%edx)
6.参考答案: (1)xptr、yptr和zptr对应实参所存放的存储单元地址分别为:R[ebp]+8、R[ebp]+12、 R[ebp]+16。 (2)函数func的C语言代码如下: void func(int *xptr, int *yptr, int *zptr) { int tempx=*xptr; int tempy=*yptr; int tempz=*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
因此,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
因此,ECX中的内容改为0x80000008。根据表3.5可知,减法指令会影响OF、SF、ZF和CF标志。OF=1,ZF=0,SF=1,CF=10=1。 (3)指令功能为:R[bx]←R[bx] or M[R[eax]+R[ecx]*8+4],寄存器BX中内容改变。改变后的内容为以下运算的结果:0x0100 or M[0x8049384]=0100H or FF00H
因此,BX中的内容改为0xFF00。由3.3.3节可知,OR指令执行后OF=CF=0;因为结果不为0,故ZF=0;因为最高位为1,故SF=1。 (4)test指令不改变任何通用寄存器,但根据以下“与”操作改变标志:R[dl] and 0x80
由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[0x8049380]*32=0x908f12a8*32,也即只要将0x908f12a8左移5位即可得到结果。 1001 0000 1000 1111 0001 0010 1010 1000<<5 =0001 0001 1110 0010 0101 0101 0000 0000 因此,指令执行后,单元0x8049380中的内容改变为0x11e25500。显然,这个结果是溢出的。但是,根据表3.5可知,乘法指令不影响标志位,也即并不会使OF=1。
1000 0000 1000 0000 1000 0000 and
0000 0001 0000 0000 1111 1111 0000 0000 1111 1111 0000 0000 or
0000 0000 0000 0000 0000 0000 0001 0000 0111 1111 1111 1111 1111 1111 1111 1000 0 1000 0000 0000 0000 0000 0000 0000 1000 +
0000 0000 0000 0000 0000 0000 1000 0000 1111 1111 1111 1111 1111 1111 1111 0000 1 0000 0000 0000 0000 0000 0000 0111 0000 + (6)指令功能为:R[cx] ←R[cx]-1,即CX寄存器的内容减一。 因此,指令执行后CX中的内容从0x0010变为0x000F。由表3.5可知,DEC指令会影响OF、ZF、SF,根据上述运算结果,得到OF=0,ZF=0,SF=0。 9.参考答案: movl 12(%ebp), %ecx //R[ecx]←M[R[ebp]+12],将y送ECX sall $8, %ecx //R[ecx]←R[ecx]<<8,将y*256送ECX movl 8(%ebp), %eax //R[eax]←M[R[ebp]+8],将x送EAX movl 20(%ebp), %edx //R[edx]←M[R[ebp]+20],将k送EDX imull %edx, %eax //R[eax]←R[eax]*R[edx],将x*k送EAX movl 16(%ebp), %edx //R[edx]←M[R[ebp]+16],将z送EDX andl $65520, %edx //R[edx]←R[edx] and 65520,将z&0xFFF0送EDX addl %ecx, %edx //R[edx]←R[edx] + R[ecx],将z&0xFFF0+y*256送EDX subl %edx, %eax //R[eax]←R[eax]-R[edx],将x*k-(z&0xFFF0+y*256)送EAX 根据以上分析可知,第3行缺失部分为: 3 int v = x*k-(z&0xFFF0+y*256) ; 10.参考答案: 从汇编代码的第2行和第4行看,y应该是占8个字节,R[ebp]+20开始的4个字节为高32位字节,记为yh;R[ebp]+16开始的4个字节为低32位字节,记为yl。根据第4行为无符号数乘法指令,得知y的数据类型num_type为unsigned long long。 movl 12(%ebp), %eax //R[eax]←M[R[ebp]+12],将x送EAX movl 20(%ebp), %ecx //R[ecx]←M[R[ebp]+20],将yh送ECX imull %eax, %ecx //R[ecx]←R[ecx]*R[eax],将yh*x的低32位送ECX mull 16(%ebp) //R[edx]R[eax]←M[R[ebp]+16]*R[eax],将yl*x送EDX-EAX leal (%ecx, %edx), %edx // R[edx]←R[ecx]+R[edx],将yl*x的高32位与yh*x的低32位相加后送EDX movl 8(%ebp), %ecx //R[ecx]←M[R[ebp]+8],将d送ECX movl %eax, (%ecx) //M[R[ecx]]←R[eax],将x*y低32位送d指向的低32位 movl %edx, 4(%ecx) //M[R[ecx]+4]←R[edx],将x*y高32位送d指向的高32位 11.参考答案: 根据第3.3.4节得知,条件转移指令都采用相对转移方式在段内直接转移,即条件转移指令的转移目标地址为:(PC)+偏移量。 (1)因为je指令的操作码为01110100,所以机器代码7408H中的08H是偏移量,故转移目标地址为:0x804838c+2+0x8=0x8048396。 call指令中的转移目标地址0x80483b1=0x804838e+5+0x1e,由此,可以看出,call指令机器代码中后面的4个字节是偏移量,因IA-32采用小端方式,故偏移量为0000001EH。call指令机器代码共占5个字节,因此,下条指令的地址为当前指令地址0x804838e加5。 (2)jb指令中F6H是偏移量,故其转移目标地址为:0x8048390+2+0xf6=0x8048488。 movl指令的机器代码有10个字节,前两个字节是操作码等,后面8个字节为两个立即数,因为是小端方式,所以,第一个立即数为0804A800H,即汇编指令中的目的地址0x804a800,最后4个字节为立即数00000001H,即汇编指令中的常数0x1。
0000 0000 0001 0000 1111 1111 1111 1111 1 0000 0000 0000 1111 +