微机原理与接口技术PPT课件.ppt
文本预览下载声明
第一章 微型计算机概述 微机原理与应用 第一章 微型计算机基础知识 第二章 指令系统和汇编语言程序设计 第三章 8088的总线周期与总线操作 第四章 微型计算机的输入/输出 第五章 常见接口电路 第六章 存储器及其接口 第七章 数/模和模/数转换 第2章 指令系统和汇编语言程序设计 2.1 8086/8088的寻址方式 2.2 8086/8088指令格式 2.3 8086/8088指令系统 2.4 汇编语言程序设计 2.1 8086/8088的寻址方式 一条指令需解决:一是进行何种操作;另一个是操作数和操作结果在何处。 操作数的寻址方式有以下几种: 立即数寻址 寄存器寻址 直接寻址 寄存器间接寻址 寄存器相对寻址 基址加变址寻址 相对的基址加变址寻址 例:指令形式:MOV AX, 0000H; AX← 0000H 一、立即数寻址 操作数紧跟在操作码的后面,与操作码一起放在码段区域,立即数可以为8位,也可以为16位。 例:MOV AL,80H;AL?80H 机器码:B0 80H 立即寻址的说明: 1. 立即数只能是整数;2. 立即数可以是8位数或16位数,若是16位数,要求低字节数放在低地址中,高字节数放在高地址中。3. 该指令主要用来对R赋值;4. 不运行总线周期,速度快;5. 立即数只能作源操作数。 二、寄存器寻址 操作数包含在CPU的内部寄存器中。 例:MOV AX,BX;AX ? BX MOV CL,DH;CL ? DH 说明: 1. 对16位操作数来说,寄存器可以为AX、BX、CX、DX、SI、DI、SP、BP。2. 对8位操作数来说,寄存器可为AH、AL、BH、BL、CH、CL、DH、DL。3. 操作在CPU内部进行,不需要使用总线,执行速度快。4. 一条指令中,既可以对源操作数采用该方式,也可以对目的操作数采用该方式,也可以两者都用寄存器寻址方式。 三、直接寻址 操作数地址的16位偏移地址直接包含在指令中,但操作数一般在存储器(数据段区域)中,它的地址为DS加上它16位地址偏移量。 例:MOV AX,[1018H];AL ?[1018H] ; AH ?[1019H] 设CS=1000H,IP=0000H,DS=2000H 物理地址: CS×16+IP=10000H DS×16+逻辑地址=21018H 三、直接寻址 操作数的存储区是在DS段以外的段中,则应在指令中指定段跨越前缀: MOV BX, ES:[2000H] 设ES=3000H,则指令执行后是将32000H和32001H两单元的内容取出送BX中。 有时用符号地址代替数值地址, MOV AX, BUFFER 等价于 MOV AX, [BUFFER] 四、寄存器间接寻址 操作数的有效地址由寄存器BX、BP、SI、DI中的一个指出。 如果指令前面没有用前缀指明具体的段寄存器,则寻址时,对BX、SI、DI,默认的段寄存器通常为DS;对BP,默认的段寄存器为SS。 例:MOV AX,[BX];AL ? [BX] ;AH ? [BX+1] 设 DS=2000H,BX=5000H 物理地址=DS ×16+BX =25000H 注:指令中也可用段超越前缀,对其他段寄存器所指的存储区进行寻址。 四、寄存器间接寻址 例:MOV AX,[BX];AL ? [BX] ;AH ? [BX+1] 代码:8B 07 设 DS=2000H,BX=5000H CS=1000H,IP=0000H 物理地址: 代码段:CS ×16+IP=10000H 数据段:DS ×16+BX=25000H 五、寄存器相对寻址(变址寻址) 有效地址是由一个基址或变址寄存器的内容加上一个8位或16位的位移量来得到的,即 五、寄存器相对寻址(变址寻址) 例: MOV AX,[COUNT+BP]; 代码:8B 86 设SS=3000H,BP=2000H, COUNT=1050H 有效地址为: EA=2000H+1050H=3050H 物理地址: 堆栈段=30000H+3050H=33050H 六、基址加变址寻址 将一个基址寄存器(BX、BP)的内容加上一个变址寄存器(SI、DI)
显示全部