清华大学冯博琴微机原理第3章8086寻址方式及指令系统.ppt

清华大学冯博琴微机原理第3章8086寻址方式及指令系统.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本概念 微机工作过程中其内部信息有两类: 一类是控制信息(指令); 一类是被加工处理的信息(数据)。 指令:微机中的控制信息就是使计算机进行某种操作的命令,这些命令就称为指令。 指令系统:一台计算机所能执行的全部指令的集合称为指令系统。不同的计算机其指令系统是不同的。 基本概念 汇编语言指令或符号指令:用字母和其它一些符号组成的“助记符”与操作数等表示的指令称为汇编语言指令或符号指令。 例如:MOV AX, BX ; AX←BX 其二进制代码(机器代码)为89D8H,就是 1000 1001 1101 1000 B 不易理解,不易记忆。 汇编程序与汇编过程:把符号指令变成机器代码的过程叫汇编,完成汇编任务的程序叫汇编程序。 例:MOV AX, 1234H 直接寻址 寄存器间接寻址 例:MOV AX ,[BP+1223H] 假设:(SS)=5000H, (BP)=3678H 寄存器相对寻址 指令中必须是基址寄存器与变址寄存器的组合,不允许同时出现两个基址寄存器或2个变址寄存器的组合。 例: MOV AX, [BX+SI+1030H] 或 MOV AX, 1030[BX][SI] 若 BX=2100H,SI=1400H,偏移量1030H, DS=1200H, 基址-变址-相对寻址 存储器寻址时的约定 通用数据传送指令传送方向 堆栈操作 例:XCHG BX ,[BP+SI] 如指令执行前: (BX)=6F30H,(BP)=0200H, (SI)=0046H, (SS)=2F00H, (2F246H)=4254H, OPR2的物理地址=2F000H+0200H+0046H=2F246H 则指令执行后: (BX)=4254H,(2F246H)=6F30H 5 字位扩展指令 CBW/CWD 例:求0BF4H ÷ 0100H (带符号数相除) 数据传送指令小结 源、目操作数长度必须一致。 源、目操作数不能同时是存储器操作数。 源、目操作数不能同时是段寄存器。 立即数和代码段寄存器CS不能作目的操作数。 当目操作数是段寄存器时,源操作数不能是立即数。 可以使用段寄存器的指令:MOV、PUSH、POP。 除XCHG指令外,其它数传指令仅改变目的操作数,源操作数保持不变。 除SAHF、POPF指令外,其它数传指令的执行不影响标志位。 串传送指令 MOVSB:每次传送一个字节; MOVSW:每次传送一个字; 将位于DS段,由SI所指出的存储单元的字节或字传送到位于ES段,由DI所指的存储单元中,再根据DF修改SI和DI,从而指向下一个元素,继续传送,直到CX为0为止。 DS:SI ES:DI DS:SI ES:DI DS:SI ES:DI MOV SI, 1000H MOV DI, 2000H MOV CX, 100 CLD KKK: MOVSB DEC CX JNZ KKK 假设DS与ES段已经赋值 ;设置源操作数指针 ;设置目的操作数指针 ;传送的元素个数 ;DF=0,每传送一次,地址自动加1,继续传送 ;每次传送一个字节 ; 传送一次,CX减1 ; CX不为0,继续转向KKK处 MOVSB: 相当于 [DS:SI]?[ES:DI] SI=SI+1 DI=DI+1 (DF=0) MOV SI, 1000H MOV DI, 2000H MOV CX, 100 CLD REP MOVSB 通常,在串传送指令前加无条件重复前缀REP,程序可自动计数并判别是否传送完毕。 REP MOVSB 相当于 [DS:SI]?[ES:DI] SI=SI+1 DI=DI+1 CX=CX-1 CX!=0 串比较指令 CMPSB:每次比较一个字节; CMPSW:每次比较一个字; 将位于DS段由SI所指出的存储单元的字节或字和ES段由DI所指的字节或字相比较,并且在比较之后根据DF自动修改SI和DI,通过段前缀的控制,可以实现在两个字符串中寻找第一个不相等的元素或第一个相等的元素。 无符号数被除数扩展:将AH或DX清0。 有符号数被除数扩展:对AH或DX进行符号扩展。 将字节扩展成字的指令:CBW 将AL中的符号位扩展到AH中。当AL80H时,执行CBW后,AH=0;当AL=80H时,AH=0FFH 当遇到两个字节相除时,要预先执行CBW指令,扩展被

文档评论(0)

taotao0a + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档