- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章80x86指令系统10
第 3 章 80x86 指令系统 指令的概念: 主要内容: §3.1 指令的基本格式 1. 指令的分类 2. 指令的基本格式 基本指令举例: 3. 操作数的多少 基本指令举例: 4. 操作数的分类 1) 立即操作数 举例: 2) 寄存器操作数 举例: Im→seg 3) 存储器操作数 举例:m→m 逻辑地址源 §3.2 寻址方式 1. 固定寻址 串寻址 (一种固定寻址) 2. 立即数寻址 3. 寄存器寻址 4. 存储器寻址 存储器寻址方法 逻辑地址源 存储器寻址方法分类 (1) 直接寻址 (2) 寄存器间接寻址 操作数的有效地址EA存放在寄存器里。 当BX,SI,DI为间址寄存器,约定段为数据段DS 当BP为间址寄存器,约定段为堆栈段SS。 寄存器间接寻址-注意 只有BX,BP,SI和DI可以作间址寄存器。 例如:MOV AX, [DX] × 也可使用段超越前缀取得其他段中的操作数。 例如:MOV AX, ES:[BX] 用来对一维数组或表格进行处理,只要连续改变间址寄器中的内容,用一条寄存器间接寻址的指令就可以对连续m单元进行存/取操作。 (3) 寄存器相对寻址 指令操作例: MOV AX,DATA[BX] ;DATA的值表示位移量 若(DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63A01H)=55H 则:PA=60000H+1000H+2A00H=63A00H 指令执行后:(AX)=5566H (4) 基址变址寻址 (5) 相对基址变址寻址 5. I/O端口寻址 I/O端口采用独立编址方式,可有64K个字节端口或32K个字端口。 指令系统中设有专门的输入指令IN和输出指令OUT来进行访问。 I/O端口的寻址方式有直接端口寻址和寄存器间接端口寻址两种。 (1) 直接端口寻址-长格式 在指令中直接给出要访问的端口地址,可用2位16进制数表示,也可用符号表示。 例: IN AL,50H ;8位数据(端口地址为50H) →AL IN AX,50H ;16位数据(50H和51H端口)→AX OUT PORT,AX; 端口地址为PORT表示的数。 不能用括号,不能理解为立即数。 可访问的端口数为0~255(28)个。 (2) 寄存器间接端口寻址-短格式 当访问的端口地址数≥256时,必须把I/O端口的地址先送到寄存器DX中,用16位的DX作为间接寻址寄存器。 例:MOV DX,283H ;端口地址283H→DX OUT DX,AL; AL→DX所指定的端口 可访问的端口数为0~65535(216)个。 格式的长短: 汇编语言→机器码(CPU内部寄存器的位数很少) 如: MOV AX,1234H 机器码:B83412H 如:MOV AX,BX 机器码:B8C3H IN AX,50H-双字节-长格式 IN AX,DX -单字节-短格式 其他寻址方式分类 立即数寻址 直接寻址 寄存器寻址 寄存器间接寻址 寄存器相对寻址 基址加变址寻址 相对的基址加变址寻址 隐含寻址 §3.3 指令执行时间(指令周期) 附录一 P351 字母说明 mem--存储器--m ac--累加器 AX或AL reg--通用寄存器--r segreg--段寄存器--seg data--立即数--Im opr--操作数--src、dst port--I/O端口 §3.4 8086/8088指令系统 §3.4.1 数据传送类指令 基本功能:把操作数或操作数的地址传送到指定的寄存器或存储单元中。 按传送内容可分成以下4组: 1. 通用数据传送指令 (4条)★ 2 . 累加器专用传送指令 (3条) IN OUT 3 . 地址目标传送指令 (3条) LEA 4 . 标志寄存器传送指令 (4条) 1. 通用数据传送指令 通用传送指令包括: (1) 传送指令 MOV (2) 堆栈操作指令 PUSH 和POP (3) 交换指令 XCHG (1) 传送指令 MOV 指令格式:MOV dst,src; (dst)←(src) 用途:赋初值、将被处理数据传送到位或对数据进行暂存。 源操作数和目的操作数都可采用多种寻址方式
文档评论(0)