- 1、本文档共92页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 子程序调用和返回 CALL SUB1 ... ... ... CALL SUB2 … ... CALL SUB2 … RETURN RETURN ... ... 主程序 地址 2000 2100 2101 子程序SUB1 2400 2500 2501 2560 2561 2700 主存空间分配 程序执行流程 子程序SUB2 * (5)处理器控制及调试指令 包括各种设置/清除标志位(如陷阱标志、中断允许标志、处理器工作状态标志位)指令、特权指令、进程同步指令、调试指令、停机指令(HALT)等。 调试指令用于硬件或软件的调试。硬件调试指令包括钥匙位置、开关状态的读取指令,重要寄存器和主存储器单元内容的显示等。软件调试指令包括断点的设置及跟踪指令,自陷阱指令等。 2.3.2 指令的基本功能 * 2.3.3 指令的格式 涉及指令的操作码长度、指令“地址制”及采用的寻址方式、指令长度等三方面的问题。 * 指令操作码的长度有定长和不定长两种选择。 定长的操作码:可以简化指令译码器的设计与实现; 不定长操作码(也称扩展操作码):可使常用指令拥有较短的操作码而不常用指令拥有较长的操作码,从而压缩程序所占的存储空间。 在一条指令中出现几个操作数地址,这是指令的“地址制”所要解决的问题。一般情况下,指令中地址的个数,可以取4,3,2,1,0个。 2.3.3 指令的格式 * 扩展操作码技术 操作码的位数随地址数的减少而增加 OP A1 A2 A3 0000 0001 1110 … A1 A1 A1 … A2 A2 A2 … A3 A3 A3 … A2 A2 A2 … A3 A3 A3 … 1111 1111 1111 … 0000 0001 1110 … 1111 1111 1111 … 1111 1111 1111 … 1111 1111 1111 … 0000 0001 1111 … 1111 1111 1111 … 1111 1111 1111 … A3 A3 A3 … 0000 0001 1110 … 4 位操作码 8 位操作码 12 位操作码 16 位操作码 15条三地址指令 15条二地址指令 15条一地址指令 16条零地址指令 * 地址制 (1) 四地址 (2) 三地址 OP A1 A2 A3 A4 8 6 6 6 6 A1 第一操作数地址 A2 第二操作数地址 A3 结果的地址 A4 下一条指令地址 若 PC 代替 A4 (A1) OP (A2) A3 8 8 8 8 OP A1 A2 A3 (A1) OP (A2) A3 4 次访存 4 次访存 寻址范围 26 = 64 寻址范围 28 = 256 若 A3 用 A1 或 A2 代替 设指令字长为 32 位 操作码固定为 8 位 * (3) 二地址 OP A1 A2 8 12 12 (A1) OP (A2) A1 (A1) OP (A2) A2 或 4 次访存 若ACC 代替 A1(或A2) 若结果存于 ACC (4) 一地址 (5) 零地址 OP A1 8 24 无地址码 (ACC) OP (A1) ACC 2 次访存 寻址范围 212 = 4 K 寻址范围 224 = 16 M 3次访存 * “地址制”设计或改进的目的是为了压缩指令长度,缩短指令的执行时间。在相同的指令长度内,减少地址个数可以扩大所能表示指令的条数或操作数的寻址范围。 同一条指令中不同操作数所采用的寻址方式可以相同或不同。 一条指令中的操作数可以都存放在寄存器里,也可以把一个操作数存放在寄存器里,而另一个操作数存放在主存里,还可以把所有的操作数都存放在主存里。存放在主存里的操作数可以按基址寻址、变址寻址或间接寻址。 2.3.3 指令的格式 * 指令字长 指令字长决定于 操作码的长度 指令字长 = 存储字长 2. 指令字长 可变 操作数地址的长度 操作数地址的个数 1. 指令字长 固定 按字节的倍数变化 * 固定长度的指令便于指令的存取和译码,但会限制操作数个数的增加和复杂寻址方式的使用; 变化长度的指令的特点正好相反 例如,IBM System 370指令采用定长的8位操作码,有单地址、两地址和三地址三种地址制,不同的操作数可以采用不同的寻址方式,指令字长有16位、32位和48位三种。 Intel公司8086/8088微处理器的指令格式 2.3.3 指令的格
文档评论(0)