- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第3章汇编语言电子教案
第3章 微型计算机指令系统 3.1 寻址方式 3.1.1 与数据有关的寻址方式 3.1.2 转移地址的寻址方式 1、立即寻址 立即寻址又称为立即数寻址,其实并不需要进行寻址,因为已经在指令中指定了 具体的操作数,称为立即数。 立即操作数可以是8位或16位,并且是指令的一部分。立即数据总是紧跟在指令 操作码之后并和操作码一起存放在代码段中,因而立即数总是和操作码一起被放入 BIU中的指令队列里,在指令执行时不需再由存储器存取存储器。使用立即寻址的指 令主要用来给寄存器赋初值。 例3-1 MOV AX,1234H;将立即数1234H值赋给寄存器AX,如图3-1所示。 请注意:操作数n存放在紧挨指令操作码的下一单元。 ADD AX,5678H ;将AX中的数据与立即数5678H进行相加,其结果又赋 给寄存器AX。 MOV AX,‘CB’ ;将C字符的ASCII码值“43H”送入AH寄存嚣中,将B字 符的ASCII码值“42H”送入AL寄存嚣中。 执行过程如图3-1所示。 图3-1 立即寻址方式 汇编格式:n?(n为立即操作数) 功能:紧挨指令下一单元的内容为操作数n。 2、寄存器寻址 参与指令所指定操作的操作数就存放在指定的寄存器当中。 例3-2 MOV BX,0201H ;将立即数0201H放进BX寄存器中 MOV AX,BX ;将寄存器BX的内容送入AX中。 这两条指令运行的结果是:先将立即数0201H放进BX寄存器中,再将寄存 器BX的内容0201H送入AX中。第一条指令是立即寻址,第二条指令才是寄 存器寻址。 如图3-2所示。 图3-2 寄存器寻址方式 汇编格式:R?(R是寄存器名) 功能:寄存器R的内容就是操作数 说明: 1)在寄存器寻址方式中,操作数存放在指令规定的寄存器中,不需访问内 存,工作效率高。 2)对于16位操作数,寄存器可以是AX、BX、CX、DX、SI、DI、SP或 BP;而对8位操作数,寄存器可以是AH、AL、BH、BL、CH、CL、DH或 DL。 3、直接寻址 4、寄存器间接寻址 寄存器间接寻址与寄存器寻址的不同之处在于,指令指定的寄存器中 的内容不是操作数,而是操作数的偏移地址,将段首址左移四位后,再加 上偏移地址得到操作数的物理地址,操作数就在这个物理地址当中。 例3-5 MOV AX,[BX] ;BX内容为有效地址EA(偏移量)。若 (DS)=4000H,(BX)=100H,此指令将物理地址40100H 单元的内容传至AL 寄存器。 如图3-4所示。 图3-4 寄存器间接寻址方式 汇编格式:[R]?(R是寄存器名) 功能:R的内容为操作数的偏移地址EA. 例3-6 设(DS)=2500H,(SS)=3000H,(BX)=1000H,(BP) =2000H,(26000H)=4321H,(32000H)=8765H。问执行指令 MOV AX,[BX] MOV CX,[BP] 后的结果? 答:第一条指令中寄存器BX提供的是操作数的偏移地址(1000H), 再加上数据段的首址左移四位之后的内容得到操作数的物理地址,即 PA=2500H*10H + 1000H = 26000H,然后从26000H物理地址当中取出 操作数4321H赋给寄存器AX。 第二条指令中寄存器BP提供的也是操作数的偏移地址(2000H),再 加上堆栈段的首址左移四位之后的内容得到操作数的物理地址即PA = 3000H*10H+2000H = 32000H,然后从32000H物理地址当中取出操作 数8765H赋给寄存器CX。 说明: 1)操作数存放在存储器当中。 2)指令指定的寄存器只能为基址寄存器BX,BP或变址寄存器SI,DI。 3)如果指令指定的寄存器为BX,SI和DI,则操作数在数据段DS中,如 果指令指定的寄存器为BP,则操作数在堆栈段SS中。 4)寄存器间接寻址和寄存器寻址在汇编格式上相比较多了个中括号, 他们的寻址方式截然不同,寄存器寻址不需访问内存,操
文档评论(0)