百科狗-知识改变命运!
--

在斜面上拉一物体做的功为什么有用功是Gs,总功是Fs?

小肉包1年前 (2023-12-20)阅读数 8#综合百科
文章标签寄存器指令

不对,有用功是Gh,总功是Fs。因为有用功是指对人们需要的,有价值的功。在此题中是指人们直接把物体举高做的功Gh,使用斜面拉物体,除了做有用功外,都不可避免地要做额外功。这时动力所做的总功等于有用功加额外功。在此题中,总功等于拉力F×S(拉动的距离)。

按功能可分为四类:基本寄存器、系统寄存器、调试和测试寄存器以及浮点寄存器。

80486 CPU的寄存器总体上可分为程序可见和不可见两类。在程序设计期间要使用的、并可由指令来修改其内容的寄存器,称为程序可见寄存器。在程序设计期间,不能直接寻址的寄存器,称为程序不可见寄存器,但是在程序设计期间可以被间接引用。程序不可见寄存器用于保护模式下控制和操作存储器系统。

1.基本寄存器(base architecture registers)

基本寄存器包括八个通用寄存器EAX, EBX, ECX, EDX, EBP, ESP, EDI, ESI;一个指令指针寄存器EIP;六个段寄存器CS, DS, ES, SS, FS和GS;一个标志寄存器EFLAGS。80486 CPU的基本寄存器如图2.11所示,它们都是程序可见寄存器。

(1)通用寄存器(general purpose registers)

通用寄存器包括EAX, EBX, ECX, EDX, EBP, ESP, EDI和ESI。

图2.11 80486 CPU的基本寄存器组

EAX, EBX, ECX, EDX都可以作为32位寄存器、16位寄存器或者8位寄存器使用。EAX可作为累加器用于乘法、除法及一些调整指令,对于这些指令,累加器常表现为隐含形式。EAX寄存器也可以保存被访问存储器单元的偏移地址。EBX常用于地址指针,保存被访问存储器单元的偏移地址。ECX经常用作计数器,用于保存指令的计数值。ECX寄存器也可以保存访问数据所在存储器单元的偏移地址。用于计数的指令包括重复的串指令、移位指令和循环指令。移位指令用CL计数,重复的串指令用CX计数,循环指令用CX或ECX计数。EDX常与EAX配合,用于保存乘法形成的部分结果,或者除法操作前的被除数,它还可以保存寻址存储器数据。

EBP和ESP是32位寄存器,也可作为16位寄存器BP, SP使用,常用于椎栈操作。EDI和ESI常用于串操作,EDI用于寻址目标数据串,ESI用于寻址源数据串。

(2)指令指针寄存器

指令指针寄存器EIP(extra instruction pointer)存放指令的偏移地址。微处理器工作于实模式下,EIP是IP(16位)寄存器。80486 CPU工作于保护模式时EIP为32位寄存器。EIP总是指向程序的下一条指令(即EIP的内容自动加1,指向下一个存储单元)。EIP用于微处理器在程序中顺序地

寻址代码段内的下一条指令。当遇到跳转指令或调用指令时,指令指针寄存器的内容需要修改。

(3)标志寄存器EFR

EFR(extra flags register)包括状态位、控制位和系统标志位,用于指示微处理器的状态并控制微处理器的操作。80486 CPU标志寄存器如图2.12所示。

① 状态标志位:包括进位标志CF、奇偶标志PF、辅助进位标志AF、零标志ZF 、符号标志SF和溢出标志OF。

② 控制标志位:包括陷阱标志(单步操作标志)TF、中断标志IF和方向标志DF。80486 CPU标志寄存器中的状态标志位和控制标志位与8086 CPU标志寄存器中的状态标志位和控制标志位的功能完全一样,这里就不再赘述。

③ 系统标志位和IOPL字段:在EFR寄存器中的系统标志和IOPL字段,用于控制操作系统或执行某种操作。它们不能被应用程序修改。

IOPL(I/O privilege level field):输入/输出特权级标志位。它规定了能使用I/O敏感指令的特权级。在保护模式下,利用这两位编码可以分别表示0, 1, 2, 3这四种特权级,0级特权最高,3级特权最低。在80286以上的处理器中有一些I/O敏感指令,如CLI(关中断指令)、STI(开中断指令)、IN(输入)、OUT(输出)。IOPL的值规定了能执行这些指令的特权级。只有特权高于IOPL的程序才能执行I/O敏感指令,而特权低于IOPL的程序,若企图执行敏感指令,则会引起异常中断。

NT(nested task flag):任务嵌套标志。在保护模式下,指示当前执行的任务嵌套于另一任务中。当任务被嵌套时,NT=1,否则NT=0。

RF(resume flag):恢复标志。与调试寄存器一起使用,用于保证不重复处理断点。当RF=1时,即使遇到断点或故障,也不产生异常中断。

VM(virtual 8086 mode flag):虚拟8086模式标志。用于在保护模式系统中选择虚拟操作模式。VM=1,启用虚拟8086模式;VM=0,返回保护模式。

AC(alignment check flag):队列检查标志。如果在不是字或双字的边界上寻址一个字或双字,队列检查标志将被激活。

(4)段寄存器

80486微处理器包括六个段寄存器,分别存放段基址(实地址模式)或选择符(保护模式),用于与微处理器中的其他寄存器联合生成存储器单元的物理地址。存器结构

① 代码段寄存器CS。代码段是一个用于保存微处理器程序代码(程序和过程)的存储区域。CS存放代码段的起始地址。在实模式下,它定义一个64KB存储器段的起点。在保护模式下工作时,它选择一个描述符,这个描述符描述程序代码所在存储器单元的起始地址和长度。在保护模式下,代码段的长度为4GB。

② 数据段寄存器DS。数据段是一个存储数据的存储区域,程序中使用的大部分数据都在数据段中。DS用于存放数据段的起始地址。可以通过偏移地址或者其他含有偏移地址的寄存器,寻址数据段内的数据。在实模式下工作时,它定义一个64KB数据存储器段的起点。在保护模式下,数据段的长度为4GB。

③ 堆栈段寄存器。堆栈段寄存器SS用于存放堆栈段的起始地址,堆栈指针寄存器ESP确定堆栈段内当前的入口地址。EBP寄存器也可以寻址堆栈段内的数据。

在斜面上拉一物体做的功为什么有用功是Gs,总功是Fs?

④ 附加段寄存器ES。ES存放附加数据段的起始地址。常用于存放数据段的段基址或者在串操作中作为目标数据段的段基址。

⑤ 附加段寄存器FS和GS。FS和GS是附加的数据段寄存器,作用与ES相同,以便允许程序访问两个附加的数据段。

在保护模式下,每个段寄存器都含有一个程序不可见区域。这些寄存器的程序不可见区域通常称为描述符的高速缓冲存储器(descriptor cache),因此它也是存储信息的小存储器。这些描述符高速缓冲存储器与微处理器中的一级或二级高速缓冲存储器不能混淆。每当段寄存器中的内容改变时,基地址、段限和访问权限就装入段寄存器的程序不可见区域。例如当一个新的段基址存入段寄存器时,微处理器就访问一个描述符表,并把描述符表装入段寄存器的程序不可见的描述符高速缓冲存储器区域内。这个描述符一直保存在此处,并在访问存储器时使用,直到段号再次改变。这就允许微处理器在重复访问一个内存段时,不必每次都去查询描述符表,因此称为描述符高速缓冲存储器。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)