- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
解—⑴操作码:变长,目标操作数:约定在首个地址码中, 寻址方式位:指令只有一种寻址方式时隐含表示; C语言程序 BYTE R0=0;//累加和 BYTE R1=100;//计数器 BYTE *R2=A[0];//地址 do{ BYTE R3=*R2; R0=R0+R3; R2++; R1--; } while (R1≠0); //数据A[0] … //数据A[99] RD 0 0 0 0 RD RD RS RD 空 RD VAL RS RS 空 ADDR 空 RD 空 指令格式 指令功能 赋值: RD←VAL 取数: RD←[(RS)] 存数: [(RD)]←(RS) 加法: RD←(RD)+(RS) RD←(RD)+[(RS)] 自增: RD←(RD)+1 自减: RD←(RD)-1 转移: Z=0时转移 Z≠0时不转移 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 RD RS 0 1 0 DSP 1 0 0 1 0 1 0 ⑵先写C语言程序,再翻译成机器语言程序:011010** 011101**06H 07H 08H 09H 地址 程序代码 …00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH … 70H 000000**000001**000010**00101110011010** 011101** 1000**** … §4.3 指令格式举例 一、指令格式目标 第i种指令格式 第i+1种指令格式 OPi DT DL DF1 A1 DF2 A2 OPi+1 DT DL DF1 A1 1、指令格式的目标 *对硬件有较好的支持:有助于减少译码时间 *对软件有较好的支持:有助于减少指令数及指令长度 减少指令数—指令功能强、地址码个数多,地址范围大、 寻址方式多、对称性好等, 缩短指令长度—地址码个数少、范围小,冗余空间小等; 减少译码时间—指令格式规整、地址码并行译码、 操作数地址形成简单等。 2、指令格式优化方法 --指令格式目标实现方法 ※指令格式目标的矛盾—软件目标←→硬件目标 减少指令数←→缩短指令长度 ②采用扩展操作码编码方式; *遵循大概率事件优先原则:利于提高性能/价格 可以减少指令数、缩短指令长度,减少译码时间 ①高频率操作(或数据类型等)才采用硬件(机器指令)实现; OPi DT DL DF1 A1 OPj DL OPk DT DF2 A2 DF1 A1 DF1 A1 ③根据使用频率,确定各种操作的地址码个数、寻址方式、地址范围等 *可分开存放操作码:利于提高规整性 *隐含部分地址码:利于提高规整性、缩短指令长度, 不利用软件编程(灵活性、指令数) OPi DT DL DF1 A1 OPj DL OPj’ DF1 A1 OPi DT DL DF1 A1 OPj DL DF1 A1 DF1 A1 DF2 A2 仅为寄存器寻址 OPj OPi DF1 A1 DF1 A1 OPj OPi DF1 A1 约定A2为固定的REG *寻址方式位前移:利于地址码并行译码 即将多个寻址方式位合并、紧邻操作码存放 OPi DF1 A1 译码时间TDF1+TA1+TDF2+TA2 DF2 A2 OPi DF12 A1 A2 译码时间TDF12+max{TA1,TA2} 33 二、Pentium指令系统 1、寻址方式 共支持9种寻址方式,多数指令使用多种寻址方式。 说明:通用寄存器R—EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI;基址寄存器B—EBX、EBP;变址寄存器I—ESI、
文档评论(0)