微机原理及接口度第10次课件_第1页
微机原理及接口度第10次课件_第2页
微机原理及接口度第10次课件_第3页
微机原理及接口度第10次课件_第4页
微机原理及接口度第10次课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理及接口度第10次1 微机原理及接口微机原理及接口 微机原理及接口度第10次2 第二章第二章 微型计算机指令系统微型计算机指令系统 第三节第三节 8086指令系统指令系统 数据传送指令数据传送指令 算术运算指令算术运算指令 逻辑运算和移位指令逻辑运算和移位指令 串操作指令串操作指令 控制转移指令控制转移指令 处理器控制指令处理器控制指令 微机原理及接口度第10次3 第三节第三节 8086/80888086/8088指令系统指令系统 四、串操作指令四、串操作指令 串传送串传送 MOVSB ; (1) (DI) (SI) (2) SI、DI1 MOVSW ; (1) (DI) (SI) (2

2、) SI、DI2 串存入串存入 STOSB ; (1) (DI) AL (2) DI1 STOSW ; (1) (DI) AX (2) DI2 串装入串装入 LODSB ; (1) AL (SI) (2) SI1 LODSW ; (1) AX (SI) (2) SI2 串比较串比较 CMPSB ; (1) (SI) -(DI) (2) SI、DI1 CMPSW ; (1) (SI) -(DI) (2) SI、DI2 串扫描串扫描 SCASB ; (1) AL - (DI) (2) DI1 SCASW ; (1) AX - (DI) (2) DI2 (一)基本串操作指令(一)基本串操作指令 微机

3、原理及接口度第10次4 第三节第三节 8086/80888086/8088指令系统指令系统 四、串操作指令四、串操作指令 (二)串操作指令重复前缀(二)串操作指令重复前缀 REP的操作:的操作:若若(CX)=0,则退出循环。,则退出循环。 (CX)(CX)-1 ; 执行执行REP后面的串操作指令一次;后面的串操作指令一次; 重复重复 REPE/REPZ的操作:的操作:若若(CX)=0或(或(ZF)=0,则退出循环。,则退出循环。 (CX)(CX)-1 ; 执行执行REP后面的串操作指令一次;后面的串操作指令一次; 重复重复 REPNE/REPNZ的操作:的操作:若若(CX)=0 或或(ZF)=

4、1 ,则退出循环。,则退出循环。 (CX)(CX)-1 ; 执行执行REP后面的串操作指令一次;后面的串操作指令一次; 重复重复 微机原理及接口度第10次5 第三节第三节 8086/80888086/8088指令系统指令系统 四、串操作指令四、串操作指令 (三)(三)DF置位置位/复位指令复位指令 CLD (DF)=0;STD (DF)=1 1. 源串源串SI对应对应DS段段、可超越;目标串、可超越;目标串DI对应对应ES段段、 不可超越;不可超越; 3. 每一次操作自动修改地址指针。每一次操作自动修改地址指针。 (四)串操作指令说明(四)串操作指令说明 4. REP可以与可以与MOVS、ST

5、OS指令连用;指令连用;REPZ、REPNE 可以与可以与 CMPS、SCAS指令连用。指令连用。 2. 执行重复串操作前,应将计数器执行重复串操作前,应将计数器CX中置数。中置数。 微机原理及接口度第10次6 第三节第三节 8086/80888086/8088指令系统指令系统 例例1:比较两个字符串,找出第一个不相等字符的地址。比较两个字符串,找出第一个不相等字符的地址。 如两字串完全相同,则转到如两字串完全相同,则转到ALLMATCH进行处理。两字进行处理。两字 串长度均为串长度均为20,首地址为,首地址为STRING1和和STRING2。 DECSI DEC DI MOV SI , OF

6、FSET STRING1 MOV DI, OFFSET STRING2 ;取取STRING1的偏移地址的偏移地址 ;取取STRING2的偏移地址的偏移地址 MOV CX, 20;置循环次数置循环次数 CLD;置方向置方向 REPE CMPSB ;若相同重复比较,若不同则退出若相同重复比较,若不同则退出 JZALLMATCH ;如如ZF=1,则表示完全相同,则表示完全相同 ;恢复第一个不相等字符的原恢复第一个不相等字符的原 ;地址地址 ALLMATCH: 微机原理及接口度第10次7 第三节第三节 8086/80888086/8088指令系统指令系统 例例2: 将将DS:2000H开始的开始的09

7、的的ASCII码传送到码传送到 ES:3000H开始的数据区中开始的数据区中. 例例3: 在在DS:2000H4000H中查找中查找A,找到送至找到送至DL否则否则 DL=0. 微机原理及接口度第10次8 第二章第二章 微型计算机指令系统微型计算机指令系统 第三节第三节 8086指令系统指令系统 数据传送指令数据传送指令 算术运算指令算术运算指令 逻辑运算和移位指令逻辑运算和移位指令 串操作指令串操作指令 控制转移指令控制转移指令 处理器控制指令处理器控制指令 微机原理及接口度第10次9 第三节第三节 8086/80888086/8088指令系统指令系统 一、数据传送指令一、数据传送指令 三、

8、逻辑运算与移位指令三、逻辑运算与移位指令 二、算术运算指令二、算术运算指令 四、串操作指令四、串操作指令 五、控制转移指令五、控制转移指令 转移指令转移指令 循环控制指令循环控制指令 过程调用指令过程调用指令 中断指令中断指令 (一)转移指令(一)转移指令 IP目标地址目标地址 1. JMP 无条件转移指令无条件转移指令 例:例:JMP QUEST JMP BX JMP WORD PTR 2000H 微机原理及接口度第10次10 第三节第三节 8086/80888086/8088指令系统指令系统 (一)转移指令(一)转移指令 转移发生在段内(本代转移发生在段内(本代 码段内),称为段内转码段内

9、),称为段内转 移,操作数为偏移地址移,操作数为偏移地址 ;转移发生在段间(其;转移发生在段间(其 它代码段),称为段间它代码段),称为段间 转移,操作数为段基址转移,操作数为段基址 和偏移地址。和偏移地址。 1. JMP 无条件转移指令无条件转移指令 微机原理及接口度第10次11 第三节第三节 8086/80888086/8088指令系统指令系统 (一)转移指令(一)转移指令 1. JMP 无条件转移指令无条件转移指令 1) 段内直接转移段内直接转移 转移地址的有效地址是当前转移地址的有效地址是当前IP和和8位或位或16位偏移量(带位偏移量(带 符号数)之和。符号数)之和。 若为若为8位的偏

10、移量,转移范围在位的偏移量,转移范围在 -128+127之间,称为短转移之间,称为短转移 若为若为16位偏移量,转移范围位偏移量,转移范围 在在-32768+32767之间。之间。 微机原理及接口度第10次12 第三节第三节 8086/80888086/8088指令系统指令系统 (一)转移指令(一)转移指令 1. JMP 无条件转移指令无条件转移指令 2) 段内间接转移段内间接转移 转移地址的有效地址是寄存器的内容或存储单元的内容转移地址的有效地址是寄存器的内容或存储单元的内容 (一个字)。(一个字)。 Eg: MOV BX, 2346H JMP BX; IPBX Eg:JMP WORD PT

11、R QUEST; 将将QUEST和和QUEST+1地址单元的内容送至地址单元的内容送至IP。 (IP)(寄存器寄存器) 或或 (IP)(存储器存储器) 微机原理及接口度第10次13 第三节第三节 8086/80888086/8088指令系统指令系统 (一)转移指令(一)转移指令 1. JMP 无条件转移指令无条件转移指令 3) 段间直接转移段间直接转移 指令中直接给出转移地址的段地址和偏移地址。指令中直接给出转移地址的段地址和偏移地址。 Eg:JMP FAR PTR NEXTPORT 转移地址的段地址和偏移地址放在存储器单元中(连续四转移地址的段地址和偏移地址放在存储器单元中(连续四 个单元)

12、。个单元)。 4) 段间间接转移段间间接转移 Eg:JMP DWORD PTR NEXT (IP) offset 标号;标号;(CS)seg 标号标号 (IP) mem32;(CS)mem32+2 微机原理及接口度第10次14 第三节第三节 8086/80888086/8088指令系统指令系统 五、控制转移指令五、控制转移指令 (一)转移指令(一)转移指令 1. JMP 无条件转移指令无条件转移指令 2. Jcc 条件转移指令条件转移指令 条件转移指令是根据前一条指令的运行结果对某些标志条件转移指令是根据前一条指令的运行结果对某些标志 位的状态来决定转移的。有些指令只针对一个标志位的位的状态来

13、决定转移的。有些指令只针对一个标志位的 判断来实现转移,有些需对多个标志位的组合判断来实判断来实现转移,有些需对多个标志位的组合判断来实 现转移。现转移。 条件转移全为短转移指令,即转移目标与下一条指令之间条件转移全为短转移指令,即转移目标与下一条指令之间 的字节距离在的字节距离在-128+127范围以内。范围以内。 (1)条件转移指令与无条件转移指令区别?)条件转移指令与无条件转移指令区别? (2)转移的范围超出)转移的范围超出-128+127怎么办?怎么办? 微机原理及接口度第10次15 第三节第三节 8086/80888086/8088指令系统指令系统 五、控制转移指令五、控制转移指令

14、(一)转移指令(一)转移指令 1. JMP 无条件转移指令无条件转移指令 2. Jcc 条件转移指令条件转移指令 条件转移指令条件转移指令J Jcc cc 根据指定的条件确定程序是否发生转移。根据指定的条件确定程序是否发生转移。 其通用的格式为:其通用的格式为: Jcc label;条件满足,发生转移,;条件满足,发生转移,IPIP+8位位移量;位位移量; 否则,顺序执行否则,顺序执行 l Jcc 不影响标志,但要利用标志。不影响标志,但要利用标志。 微机原理及接口度第10次16 第三节第三节 8086/80888086/8088指令系统指令系统 五、控制转移指令五、控制转移指令 (一)转移指

15、令(一)转移指令 1. JMP 无条件转移指令无条件转移指令 2. Jcc 条件转移指令条件转移指令 (1)(1)根据一个标志位的转移指令根据一个标志位的转移指令 根据根据CFCF、OFOF、SFSF、ZFZF、 PF5PF5个标志位两种状态个标志位两种状态 可以生成可以生成1010条转移指条转移指 令令 指令指令转移条转移条 件件 说明说明 JCJCCF=1CF=1有进位转移有进位转移 JNCJNCCF=0CF=0无进位转移无进位转移 JZ/JEJZ/JEZF=1ZF=1结果为结果为“0”0”转转 移移 JNZ/JNEJNZ/JNEZF=0ZF=0结果不为结果不为“0”0” 转移转移 JOJ

16、OOF=1OF=1有溢出转移有溢出转移 JNOJNOOF=0OF=0无溢出转移无溢出转移 JP/JPEJP/JPEPF=1PF=1偶校验转移偶校验转移 JNP/JPOJNP/JPOPF=0PF=0奇校验转移奇校验转移 JSJSSF=1SF=1结果为负数转结果为负数转 移移 JNSJNSSF=0SF=0结果不为负数结果不为负数 转移转移 ADDAX , BX JNOL1 JNC L2 JMPL3 微机原理及接口度第10次17 第三节第三节 8086/80888086/8088指令系统指令系统 五、控制转移指令五、控制转移指令 (一)转移指令(一)转移指令 1. JMP 无条件转移指令无条件转移指

17、令 2. Jcc 条件转移指令条件转移指令 (2)(2)根据多个标志位的转移指令根据多个标志位的转移指令 有符号数分大于(有符号数分大于(Great Great ThanThan)、等于()、等于(EqualEqual)、小)、小 于(于(Less ThanLess Than)3 3种情况;无种情况;无 符号数分高于(符号数分高于(AboveAbove)、等)、等 于(于(EqualEqual)、低于()、低于(BelowBelow) 3 3种情况种情况 数据类型数据类型指令指令说明说明 有符号数据有符号数据 JG/JNLE JG/JNLE 大于转移大于转移 有符号数据有符号数据 JGE/JN

18、L JGE/JNL 大于等于大于等于 转移转移 有符号数据有符号数据 JL/JNGE JL/JNGE 小于转移小于转移 有符号数据有符号数据 JLE/JNG JLE/JNG 小于等于小于等于 转移转移 无符号数据无符号数据 JA/JNBE JA/JNBE 高于转移高于转移 无符号数据无符号数据 JAE/JNB JAE/JNB 高于等于高于等于 转移转移 无符号数据无符号数据 JB/JNAE JB/JNAE 低于转移低于转移 无符号数据无符号数据 JBE/JNA JBE/JNA 低于等于低于等于 转移转移 微机原理及接口度第10次18 第三节第三节 8086/80888086/8088指令系统指

19、令系统 五、控制转移指令五、控制转移指令 (一)转移指令(一)转移指令 2. Jcc 条件转移指令条件转移指令 由由CX决定的转移决定的转移 JCXZ 指令格式指令格式 JCXZ 目标地址标号目标地址标号 当当CX=0转移转移 将内存的数据段中存放了若干个将内存的数据段中存放了若干个8位带符号数,数据块的长位带符号数,数据块的长 度为度为 count(不超过(不超过255),首地址位),首地址位table。试统计其中正。试统计其中正 数、负数和零的个数,分别存入数、负数和零的个数,分别存入 plus、minus 和和zero单元。单元。 Datasegment Table db 256 dup

20、 (?) Count db 1 dup (?) Plusdb 1 dup (?) Minus db 1 dup (?) Zerodb 1 dup (?) Dataends 微机原理及接口度第10次19 内存的数据段中存放了若干个内存的数据段中存放了若干个8 8位带符号数,数据块的长度为位带符号数,数据块的长度为 countcount(不超过(不超过255255),首地),首地 址位址位tabletable。试统计其中正数、负数和零的个数,分别存入。试统计其中正数、负数和零的个数,分别存入 plusplus、minus minus 和和zerozero单元。单元。 leasi , table c

21、ld check: lodsb oral , al jsx1 jzx2 incplus jmpnext x1: inc minus jmp next x2: inc zero next: dec cx jcxz over jmp check over: hlt Code ends end start Datasegment Table db 256 dup (?) Count db 1 dup (?) Plusdb 1 dup (?) Minus db 1 dup (?) Zerodb 1 dup (?) Dataends Code segment assume cs:code,ds:data

22、 movax , data movds , ax start: xoral , al movplus,al movminus,al movzero,al movch , al movcl , count 微机原理及接口度第10次20 第三节第三节 8086/80888086/8088指令系统指令系统 五、控制转移指令五、控制转移指令 (一)转移指令(一)转移指令 1. JMP 无条件转移指令无条件转移指令 2. Jcc 条件转移指令条件转移指令 例例2:寄存器:寄存器AL中是字母中是字母Y(含大小写),则令(含大小写),则令AH=0,否则令否则令 AH=-1. 思考:如何判断思考:如何判断AX

23、中的数据是奇数还是偶数?中的数据是奇数还是偶数? 例例1:将:将AX中的无符号数除以中的无符号数除以2,如果是奇数,则加,如果是奇数,则加1后除以后除以2. 例例3:比较:比较 AX和和BX中的数(无符号数),并将较大者存入中的数(无符号数),并将较大者存入max。 微机原理及接口度第10次21 第三节第三节 8086/80888086/8088指令系统指令系统 一、数据传送指令一、数据传送指令 三、逻辑运算与移位指令三、逻辑运算与移位指令 二、算术运算指令二、算术运算指令 四、串操作指令四、串操作指令 五、控制转移指令五、控制转移指令 转移指令转移指令 循环控制指令循环控制指令 过程调用指令

24、过程调用指令 中断指令中断指令 (一)转移指令(一)转移指令 (二)循环控制指令(二)循环控制指令 LOOP、LOOPE/LOOPZ、LOOPNE/LOOPNZ 注:循环控制全为注:循环控制全为短转移指令短转移指令 微机原理及接口度第10次22 第三节第三节 8086/80888086/8088指令系统指令系统 五、控制转移指令五、控制转移指令 (二)循环控制指令(二)循环控制指令 LOOP、LOOPE/LOOPZ、LOOPNE/LOOPNZ 1. LOOP 循环指令循环指令 指令格式指令格式 LOOP 目标地址标号目标地址标号 操作:操作:1) (CX)(CX)-1 2) 若若(CX)0,则

25、转移到目标标号;,则转移到目标标号; 否则退出循环。否则退出循环。 循环指令主要对循环指令主要对CXCX或或ZFZF进行测试,确定是否循环,如下表所示进行测试,确定是否循环,如下表所示 指令格式指令格式执行操作执行操作 LOOP OPRDLOOP OPRD循环循环 LOOPNZ/LOOPNE OPRDLOOPNZ/LOOPNE OPRD不等不等/ /结果不为结果不为0 0时循环时循环 LOOPZ/LOOPE OPRDLOOPZ/LOOPE OPRD相等相等/ /结果为结果为0 0时循环时循环 微机原理及接口度第10次23 第三节第三节 8086/80888086/8088指令系统指令系统 五、控制转移指令五、控制转移指令 (二)循环控制指令(二)循环控制指令 LOOP、LOOPE/LOOPZ、LOOPNE/LOOPNZ 1. LOOP 循环指令循环指令 2. LOOPE/LOOPZ 相等相等/为零循环指

温馨提示

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

评论

0/150

提交评论