微机原理3指令系统2寻址方式.ppt_第1页
微机原理3指令系统2寻址方式.ppt_第2页
微机原理3指令系统2寻址方式.ppt_第3页
微机原理3指令系统2寻址方式.ppt_第4页
微机原理3指令系统2寻址方式.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

8088 8086的寻址方式 从8088 8086的指令格式入手 论述 立即数寻址方式寄存器寻址方式存储器寻址方式进而熟悉8088 8086汇编语言指令格式 尤其是其中操作数的表达方法为展开8088 8086指令系统做好准备 指令的组成 操作码说明计算机要执行哪种操作 如传送 运算 移位 跳转等操作 它是指令中不可缺少的组成部分操作数是指令执行的参与者 即各种操作的对象有些指令不需要操作数 通常的指令都有一个或两个操作数 也有个别指令有3个甚至4个操作数 指令由操作码和操作数两部分组成 指令的助记符格式 操作数2 称为源操作数src 它表示参与指令操作的一个对象操作数1 称为目的操作数dest 它不仅可以作为指令操作的一个对象 还可以用来存放指令操作的结果分号后的内容是对指令的解释 操作码操作数1 操作数2 注释 汇编语句格式 指令的操作码和操作数 每种指令的操作码 用一个助记符表示 指令功能的英文缩写 对应着机器指令的一个或多个二进制编码指令中的操作数 可以是一个具体的数值可以是存放数据的寄存器或指明数据在主存位置的存储器地址 MOV指令 操作数的寻址方式 指令系统设计了多种操作数的来源寻找操作数的过程就是操作数的寻址把寻找操作数的方式叫做 操作数 寻址方式理解操作数的寻址方式是理解指令功能的前提操作数采取哪一种寻址方式一方面 会影响处理器执行指令的速度和效率另一方面 对程序设计也很重要 MOV指令 立即数寻址方式 指令中的操作数直接存放在机器代码中 紧跟在操作码之后 操作数作为指令的一部分存放在操作码之后的主存单元中 这种操作数被称为立即数imm可以是8位数值i8 00H FFH 也可以是16位数值i16 0000H FFFFH 立即数寻址方式常用来给寄存器和存储单元赋值 多以常量形式出现 演示 MOVAX 0102H AX 0102H 注意 立即数只能作双操作数指令的源操作数 不能作目的操作数 立即数不能作单操作数指令的操作数 如 MOV100H AX INC50 立即数送入目的操作数中 注意溢出如 MOVAL 100H 寄存器寻址方式 操作数存放在CPU的内部寄存器reg中8位寄存器r8AH AL BH BL CH CL DH DL16位寄存器r16AX BX CX DX SI DI BP SP4个段寄存器seg CS DS SS ES寄存器名表示其内容 操作数 演示 MOVAX BX AX BX 例如 寄存器寻址方式MOVAX BXMOVAL BH注意 源寄存器和目的寄存器的字长必须一致MOVAH BX CS IP不能用MOV指令改变MOVCS AX MOVIP AX 段寄存器不能直接传送 MOVCS DS 存储器寻址方式 如果操作码所需操作数存放在内存中 则指令中需要给出操作数的地址信息 用内存地址表示程序设计时 8088采用逻辑地址表示内存地址段地址在默认的或用段超越前缀指定的段寄存器中指令中只需给出操作数的偏移地址 有效地址EA 8086设计了多种存储器寻址方式1 直接寻址方式2 寄存器间接寻址方式3 寄存器相对寻址方式4 基址变址寻址方式5 相对基址变址寻址方式 1 存储器直接寻址方式 直接寻址方式的有效地址在指令中直接给出 中括号中包含有效地址 表达存储单元的内容默认的段地址在DS段寄存器 可使用段超越前缀改变其物理地址求法为 PA DS 10H EA MOVAX 2000H AX DS 2000H 演示 MOVAX 2000H PA DS 10H 2000H 设执行前 DS 1492H 16920H 9078H则执行后 AX 2415H 注意 如果不是数据段 必须用段超越前缀特别指明 例 MOVAX ES 2000H 段跨越符ESPA ES 10H 2000H MOVSS 1000H BX 段跨越符SSPA SS 10H 1000H 1 若有效地址存放在基址寄存器BX或变址寄存器SI DI中则默认的段地址在DS段寄存器 MOVAX BX MOVAX SI MOVAX DI 物理地址PA 10H DS SI DI BX 2 寄存器间接寻址方式 例 MOVAX BX PA DS 10H BX 若执行前 DS 2000H BX 1000H MOVAX BX DSBX 0A0H21000H 50H21001H 数据段 2000H 10H 1000H 50H0A0H 内存 AX 演示 MOVAX BX AX DS BX 2 若BP作间址寄存器 则对象存放在当前堆栈段中 物理地址 10H SS BP 如 MOVBX BP PA SS 10H BP 3 若指定段跨越符 则不管BP BX SI DI那个作变址器 都取相应段中数据 如 MOVES BP AX PA ES 10H BP MOVAH ES BX PA ES 10H BX 注 间址器一定要是BP BX SI DI之一如 MOVCX AX 间接寻址方式表示对象的地址 并不能表示对象的类型 PA DS 10H X SI DS 10H X DI DS 10H X BX SS 10H X BP MOVAX X SI MOVAX X DI MOVAX X BX MOVAX X BP 其中X为8 16位偏移量 3 寄存器相对寻址方式 有效地址是寄存器内容与有符号8位或16位位移量之和 寄存器可以是BX BP或SI DI段地址对应BX SI DI寄存器默认是DS 对应BP寄存器默认是SS 可用段超越前缀改变 例 MOVCX 6 BX PA DS 10H BX 6X设执行前 BX 16H DS 2000H 20010H 3789H执行 执行后 CX 3789H 其他寄存器内容不变 MOVCXDSBXOFFHOFAH 89H20010H37H20011H 代码段 数据段 2000H 16H 6 例 MOV BX 7 BX 演示 MOVAX SI 06H AX DS SI 06H MOVAX 06H SI AX DS SI 06H 物理地址PA DS 10H BX SI 或DI SS 10H BP SI 或DI MOVAX BX SI MOVAX BX DI MOVAX BP SI MOVAX BP DI 4 基址变址寻址方式 有效地址由基址寄存器 BX或BP 的内容加上变址寄存器 SI或DI 的内容构成 段地址对应BX基址寄存器默认是DS 对应BP基址寄存器默认是SS 可用段超越前缀改变 例 MOVAX BX BP MOV SI DI CX MOV BX CX AX 例 MOVAX BX DI MOVAX BX DI 设执行前 DS 2100H BX 158H DI 10A5H 221FDH 1234HEA 158H 10A5H 11FDH 物理地址 DS 10H EA 21000H 11FDH 221FDH DSBXDI指令码 34H221FDH12H221FEH 2100H 158H 10A5H 数据段 执行后 AX 1234H当MOVAL BX DI 221FDH 字节 34HAL即 AL 34H MOVAX BX SI AX DS BX SI 演示 MOVAX BX SI AX DS BX SI 5 相对基址变址寻址方式 MOVAX X BX SI MOVAX X BX DI MOVAX X BP SI MOVAX X BP DI PA DS 10H BX SI 或 DI X SS 10H BP SI 或 DI X 有效地址是基址寄存器 BX BP 变址寄存器 SI DI 与一个8位或16位位移量之和 有效地址 BX BP SI DI 8 16位位移量段地址对应BX基址寄存器默认是DS 对应BP基址寄存器默认是SS 可用段超越前缀改变 例 MOVAX BX DI MOVAX BX DI 设执行前 DS 2100H BX 158H DI 10A5H 221FDH 1234HEA 158H 10A5H 11FDH 物理地址 DS 10H EA 21000H 11FDH 221FDH DSBXDI指令码 34H221FDH12H221FEH 2100H 158H 10A5H 数据段 执行后 AX 1234H当MOVAL BX DI 221FDH 字节 34HAL即 AL 34H 演示 MOVAX BX DI 6 AX DS BX DI 6 MOVAX 6 BX DI MOVAX 6 BX DI 存储器寻址方式中的变量 变量指示内存中的数据 变量名具有地址属性 存储器寻找方式中经常采用变量形式变量的定义WVARDW1234H 定义16位变量WVAR 具有初值1234H 假设其偏移地址为0010H单独引用变量名是直接寻址方式MOVAX WVAR 指令功能 AX 1234H 等同于MOVAX 0010H 相对寻址方式中 变量名表示其偏移地址 相当于位移量MOVAX DI WVAR MOVAX WVAR DI 等同于MOVAX DI 0010H 课堂练习 1 分别指出下列指令中源操作数和目的操作数的寻址方式 MOVSI C ADDCX 0010H MOV BX 3 AX MOVDL BP DI SUB BX SI AL MOV BX AX2 指出下列各寻址中的错误 并说明原因 MOV100H AX MOV BX BP SI MOVCS AX ADDAX DI SI ADDAX BL MOVAH 10003 已 DS 2000H ES 2100H SS 1500H SI 0ADH BX 100H BP 10H 试指出下列源操作数的寻址方式是什么 其物理地址值是什么 1 MOVAX 100H 2 MOVBX SI 3 MOVCX BX 10H 4 MOVAX BX SI 5 MOVCL BP 4 6 MOVCH ES BP SI 操作数的表达符号 1 操作数的表达符号 2 掌握操作数的寻址方式后 进入指令学习 汇编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论