- 1、本文档共192页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[数学]微机原理5_8086指令系统08
第五章 80x86微处理器的指令系统 教学重点 重点掌握寻址方式和常用指令功能及应用 常用传送指令 加减法指令 逻辑运算和移位指令 控制转移指令 字符(串)输入输出功能调用 指令通常应提供的信息 做什么操作 操作数从哪里来 操作结果放在哪里 对于调用和转移指令,还要涉及转移或调用地址的提供方式 指令的一般格式 操作数字段可以有一个,二个或三个操作数,通常称为“一地址”,“二地址”或 “三地址”指令 例:加1指令 INC AX 只需要指出加1的操作数,它是“一地址”指令。 双操作数指令 MOV dst, src ; (dst) (src) ↑ ↑ ↑ 助记符 目的 源操作数 操作数 例: MOV AH,BL MOV AX,1234H ADD dst, src ; (dst) (dst)+(src) ↑ ↑ ↑ 助记符 目的 源操作数 操作数 例: ADD AL,36H ADD BX,CX 大多数运算型指令都是双操作数指令,对这种指令,有的机器(大中型)使用“三地址”指令:除给出参加运算的两个操作数外,还要指出运算结果的存放地址 操作指令 现代微型计算机中多采用二地址指令,两个操作数分别称为“源操作数”和“目的操作数”,指令执行后,把运算结果放到目的操作数的地址之中。 指令的操作码在机器中的表示比较简单,只要对每一种操作指定相应的二进制代码即可;而指令的操作数字段的情形就比较复杂 寻址方式 定义(1):指令中如何提供操作数或操作数地址的方式称为寻址方式。 定义(2):规定如何对地址字段作出解释以找到操作数。 *程序转移时需提供转移地址,这跟提供操作数地址在方法上没有本质区别,因此也归入寻址方式的范畴。 指令系统设计 一个指令系统能够提供哪些寻址方式,能否为编制程序提供方便,这是指令系统设计的关键。 在不同的计算机系统中,寻址方式的名称和分类并不统一,但基本可以归结为几种基本方式或它们的变型或组合。 8种(三类) 立即寻址 寄存器寻址 存储器寻址 直接寻址 寄存器间接寻址 寄存器相对寻址 基址变址寻址 相对基址变址寻址 隐含寻址 (一)立即寻址(Immediate addressing) 指令中直接给出操作数,操作数紧跟在 操作码之后,作为指令的一部分存放在代 码段里,在取出指令的同时也就取出了操 作数,立即有操作数可用,所以称之为立 即寻址。 立即数寻址 立即数可以为8位,也可以为16位。如果是16位数,则“高位字节存放在高地址中,低位字节存放在低地址中。” 立即寻址方式常用于给寄存器赋值,并且只能用于源操作数,而不能用于目的操作数。 (二) 寄存器寻址(Register addressing) 操作数在寄存器中,指令中指明寄存器号,这种寻址方式叫寄存器寻址。 对于8位操作数,寄存器可以是 AH, AL, BH, BL, CH, CL, DH, DL ; 对于16位操作数,寄存器可以是AX, BX, CX, DX, SI, DI, SP 和 BP ; SRC 和 DST的字长一致 ? MOV AH, BX CS不能用MOV指令改变 ? MOV CS, AX 寄存器寻址 特 点 (1) 操作数就在寄存器中,不需要访问存储器来取得操作数(指令执行时,操作就在CPU的内部进行),因而执行速度快。 (2)寄存器号比内存地址短 * 在编程中,如有可能,尽量使用这种寻址方式的指令。 * 寄存器寻址方式既可用于源操作数,也可用于目的操作数,还可以两者都用于寄存器寻址方式(如 MOV BX , AX ) 寻址方式 除以上两种寻址方式外,下面各种寻址 方式的操作数均在存储器中,通过采用不 同的寻址方式取得操作数地址,从而取得 操作数。 (三)直接寻址(Direct Addressing) 在讨论寻址方式时,通常把操作数的偏移地址称为有效地址EA (Effective Address) ,EA可通过不同的寻址方式来得到。 在直接寻址方式中,指令中直接给出操作数的有效地址,或者说,有效地址EA (操作数的有效地址,而不是操作数本身)就存放在代码段中指令的操作码之后,但操作数一般存放在数据段中。 有效地址EA:操作数在段内的偏移地址 物理地址PA = 16d ? (DS
文档评论(0)