汇编语言程序设计_2_1

上传人:飞*** 文档编号:52221551 上传时间:2018-08-19 格式:PPT 页数:35 大小:1.44MB
返回 下载 相关 举报
汇编语言程序设计_2_1_第1页
第1页 / 共35页
汇编语言程序设计_2_1_第2页
第2页 / 共35页
汇编语言程序设计_2_1_第3页
第3页 / 共35页
汇编语言程序设计_2_1_第4页
第4页 / 共35页
汇编语言程序设计_2_1_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《汇编语言程序设计_2_1》由会员分享,可在线阅读,更多相关《汇编语言程序设计_2_1(35页珍藏版)》请在金锄头文库上搜索。

1、汇编语言程序设计 Assembly Language Programming第三章 8086寻址方式和指令系统 3.1 寻址方式计算机与信息学院 郑 利 平回 顾2中央处理单元 CPUvIntel 8086/8088:对汇编语言程序员来说,关心 的是其中的寄存器寄存器(14个16位寄存器)2存储器v主存储器:呈现给汇编语言程序员的,是存储存储 器地址器地址(分段:物理地址,段地址,偏移地址)2外部设备v接口电路:汇编语言程序员看到的是,端口(端口( I/OI/O地址)地址)(输入输出操作)回顾:微机系统编程结构8086寻址方式和指令系统2寻址方式2指令系统v数据传送指令v算术运算指令v逻辑运算

2、和移位指令v串操作指令v控制转移指令vCPU控制指令与标志位处理指令8086寻址方式和指令系统2指令系统(Instruction Set):计算机能 够执行的全部指令的集合2指令的一般格式l操作码说明计算机要执行哪种操作, 它是指令中不可缺少的组成部分l操作数是指令执行的参与者,即各种 操作的对象操作码操作数1操作数2指令指令 系统系统寻址寻址 方式方式符号约定2op 操作数2Src 原操作数2Dst 目的操作数2Mem 存储器操作数2im 立即数2reg 通用寄存器2R 一般寄存器寻址方式2寻址方式(addressing mode)是指在指令中用以说明操作数所在地址(位置)的方法v对某一个操

3、作数而言2根据操作数据所在不同位置,将其分成3种类型v立即数(常数)指令中直接给出的常数v寄存器操作数存放在寄存器中的数据v内存操作数存放在内存单元中的数据寻址方式(二)2隐式段地址8086/8088指令系统对存储单元 的访问,其段地址都是从系统事先约定好的段 寄存器中获取; 规则为:除串操作指令外,所 有的操作都默认在DS中,除非出现BP,SP, 默认在SS中。2(显式段地址)段超越不是按照系统的约 定,而是在指令中显式指定某一段寄存器作为 存储器操作数的段地址。2变量:一个数据单元的地址。数据指针。2标号:一个指令单元的地址。指令指针。三种操作数的比较立 即 数寄 存 器存 储 器 汇 编

4、 操 作 数指令中直接给 出 不灵活用名字表示 访问速度快 容量小用地址表示 访问速度慢 容量大常数register变量C 操 作 数三种操作数的比较立 即 数寄 存 器存 储 器 汇 编 操 作 数指令中直接给 出 不灵活用名字表示 访问速度快 容量小用地址表示 访问速度慢 容量大查 询 电 话MOV指令格式2MOV Dst, Srcv源操作数 Src,目的操作数 Dstv功能是将源操作数Src传送至目的操作数Dstv注意:大小匹配,不能同时为内存操作数vMOV AL,05H;AL05HvMOV BX,AX;BXAXvMOV AX,1000H;AXDS:1000H我想一下, 嗯,是 1336

5、6666666寻址方式爸爸,黑旋风 李逵的电话是 多少呀?1. 立即寻址方式(immediate addressing)2操作数在指令中给出,作为指令机器码的一部分存储MOV AL, 34H ;机器码:B034MOV AX, 0034H ;机器码:B834002使用场合:常数 2注意:v只能用于Src操作数立即数寻址爸爸,豹子 头林冲的电 话是多少呀 ?我不记得,但我的 电话本上有,你 自己找找看哟!2. 寄存器寻址方式(register addressing)2操作数在指定的数据寄存器中MOV AX, BXMOV AL, BH2使用场合:作为临时、中转存放数据2注意:vCS/IP不能用作Ds

6、t操作数:lMOV CS/IP, AX (X)寄存器寻址爸爸,浪子 燕青的电话 是多少呀?我不记得, 电话本上 也没有,你自己到中 国电话黄页上找找看 ,我记得是1000号!10001000内存操作数寻址方式2直接寻址方式(direct addressing)2寄存器间接寻址方式(register indirect)2寄存器相对寻址方式(register relative)2基址变址寻址方式(based indexed)2相对基址变址方式(relative based indexed)3. 直接寻址方式(direct addressing)2内存操作数的偏移地址由指令直接给出MOV AX, 2

7、000HMOV WORD PTR 1000H, -12使用场合:处理单个内存操作数2注意:v隐含的段为数据段 DSv物理地址 = 16 * (DS) +偏移地址1000H1001HAX3412AHAL比 较2比较1vMOV AL, 1000HvAL=34H;vMOV AX, 1000HvAX=1234H2比较2vMOV AX, 1000HvAX=1000H;vMOV AX, 1000HvAX=1234H12344.寄存器间接寻址方式(register indirect)2指定某个地址寄存器(SI、DI、BX、BP )的内容作为内存操作数的偏移地址 MOV AX, BX MOV BP, AL2使

8、用场合:表格、字符串、缓冲区处理2注意:v段地址规则lBX, SI, DI (DS) lBP (SS)寄存器间接寻址5.寄存器相对寻址方式(register relative)2指令中指定地址寄存器(SI、DI、BX、BP) 与一个位移量相加作为内存操作数的偏移地址MOV AX, SI+2 MOV BP-6H, AL2使用场合:适于表格、字符串、缓冲区的处理 ;一维数组方式(DATADI DATA + DI)偏移地址 =(BX)(BP)(SI)(DI)+8位16位位移量表格、字符串、缓冲区处理2遍历缓冲区:BUFFER SI BUFFER0, BUFFER1, BUFFER2,BUFFER寄存

9、器相对寻址6.基址变址寻址方式(based indexed)2指定基址寄存器(BX,BP)、变址寄存器(SI,DI) 内容相加作为内存操作数的地址。 MOV BX+DI,DX MOV AL, BP+SI2使用场合:适于数组、字符串、表格的处理 ,更加灵活2注意:v必须是一个基址寄存器和一个变址寄存器的组合lMOV AX, BXBP (X)lMOV AX, SIDI (X)7.相对基址变址方式(relative based indexed)2指定基址寄存器(BX,BP) 、变址寄存器 (SI,DI) 、位移量之和作为内存操作数的地址MOV AL, SI+BX-2MOV BX+DI+16H, DX

10、2使用场合:适于二维数组的寻址( BufferBXSI = Buffer+BX+SI)偏移地址 =(BX)(BP)+(SI)(DI)+8位16位位移量相对基址变址寻址各种寻址方式的执行过程寄存器间接寻址的执行例 子2MOV BX,2000H2MOV SI , 0002H2MOV DI, 2002H2MOV AL,2002H2MOV AL,DI2MOV AL,BX+0002H2MOV AL,BX+SI2MOV AL,BX+DI- 2000H2000HBX2002HDI0002HSI01H 01H2000H01H2001H2002H总 结2指令系统和指令 2寻址方式v立即数v寄存器数v内存数l后面五种寻址方式均是用来描述内存操作 数,通过不通的方式给出内存操作数的偏偏 移地址移地址l两个操作数不能同时为Mem。ldisp | BPBX | SIDI 2*3*3 1 =17爸爸,你怎么 知道这么多电 话号码呀?哈哈,因为我 有多种不同的 记忆方式记忆方式!课 后 作 业2下次课内容v数据传送和算术运算指令,作好预习2作业v分别用7种寻址方式将数1送入1000H内存字节单元

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号