




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理及接口,第二章 微型计算机指令系统 第三节 8086指令系统,数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 控制转移指令 处理器控制指令,第三节 8086/8088指令系统,一、数据传送指令,三、逻辑运算与移位指令,二、算术运算指令,四、串操作指令,五、控制转移指令,转移指令,循环控制指令,过程调用指令,中断指令,(一)转移指令,IP目标地址,1. JMP 无条件转移指令,例:,JMP QUEST JMP BX JMP WORD PTR 2000H,第三节 8086/8088指令系统,(一)转移指令,转移发生在段内(本代码段内),称为段内转移,操作数为偏移地址;转移发生在段间(其它代码段),称为段间转移,操作数为段基址和偏移地址。,1. JMP 无条件转移指令,第三节 8086/8088指令系统,五、控制转移指令,(一)转移指令,1. JMP 无条件转移指令,2. Jcc 条件转移指令,条件转移指令是根据前一条指令的运行结果对某些标志位的状态来决定转移的。有些指令只针对一个标志位的判断来实现转移,有些需对多个标志位的组合判断来实现转移。,条件转移全为短转移指令,即转移目标与下一条指令之间的字节距离在-128+127范围以内。,(1)条件转移指令与无条件转移指令区别? (2)转移的范围超出-128+127怎么办?,第三节 8086/8088指令系统,五、控制转移指令,(一)转移指令,1. JMP 无条件转移指令,2. Jcc 条件转移指令,条件转移指令Jcc 根据指定的条件确定程序是否发生转移。,其通用的格式为:,Jcc label;条件满足,发生转移,IPIP+8位位移量;,否则,顺序执行,Jcc 不影响标志,但要利用标志。,第三节 8086/8088指令系统,五、控制转移指令,(一)转移指令,1. JMP 无条件转移指令,2. Jcc 条件转移指令,(1)根据一个标志位的转移指令,根据CF、OF、SF、ZF、PF5个标志位两种状态可以生成10条转移指令,ADD AX , BX JNO L1 JNC L2 JMP L3,第三节 8086/8088指令系统,五、控制转移指令,(一)转移指令,1. JMP 无条件转移指令,2. Jcc 条件转移指令,(2)根据多个标志位的转移指令,有符号数分大于(Great Than)、等于(Equal)、小于(Less Than)3种情况;无符号数分高于(Above)、等于(Equal)、低于(Below)3种情况,第三节 8086/8088指令系统,五、控制转移指令,(一)转移指令,2. Jcc 条件转移指令,由CX决定的转移 JCXZ,指令格式,JCXZ 目标地址标号,当CX=0转移,将内存的数据段中存放了若干个8位带符号数,数据块的长度为 count(不超过255),首地址位table。试统计其中正数、负数和零的个数,分别存入 plus、minus 和zero单元。,Data segment Table db 256 dup (?) Count db 1 dup (?) Plus db 1 dup (?) Minus db 1 dup (?) Zero db 1 dup (?) Data ends,内存的数据段中存放了若干个8位带符号数,数据块的长度为 count(不超过255),首地址位table。试统计其中正数、负数和零的个数,分别存入 plus、minus 和zero单元。,lea si , table cld check: lodsb or al , al js x1 jz x2 inc plus jmp next x1: inc minus jmp next x2: inc zero next: dec cx jcxz over jmp check over: hlt Code ends end start,Data segment Table db 256 dup (?) Count db 1 dup (?) Plus db 1 dup (?) Minus db 1 dup (?) Zero db 1 dup (?) Data ends Code segment assume cs:code,ds:data mov ax , data mov ds , ax start: xor al , al mov plus,al mov minus,al mov zero,al mov ch , al mov cl , count,第三节 8086/8088指令系统,五、控制转移指令,(一)转移指令,1. JMP 无条件转移指令,2. Jcc 条件转移指令,例2:寄存器AL中是字母Y(含大小写),则令AH=0,否则令AH=-1.,思考:如何判断AX中的数据是奇数还是偶数?,例1:将AX中的无符号数除以2,如果是奇数,则加1后除以2.,例3:比较 AX和BX中的数(无符号数),并将较大者存入max。,第三节 8086/8088指令系统,一、数据传送指令,三、逻辑运算与移位指令,二、算术运算指令,四、串操作指令,五、控制转移指令,转移指令,循环控制指令,过程调用指令,中断指令,(一)转移指令,(二)循环控制指令,LOOP、LOOPE/LOOPZ、LOOPNE/LOOPNZ,注:循环控制全为短转移指令,第三节 8086/8088指令系统,五、控制转移指令,(二)循环控制指令,LOOP、LOOPE/LOOPZ、LOOPNE/LOOPNZ,1. LOOP 循环指令,指令格式,LOOP 目标地址标号,操作:1) (CX)(CX)-1 2) 若(CX)0,则转移到目标标号; 否则退出循环。,循环指令主要对CX或ZF进行测试,确定是否循环,如下表所示,第三节 8086/8088指令系统,五、控制转移指令,(二)循环控制指令,LOOP、LOOPE/LOOPZ、LOOPNE/LOOPNZ,1. LOOP 循环指令,2. LOOPE/LOOPZ 相等/为零循环指令,指令格式,LOOPE/LOOPZ 目标地址标号,操作:1) (CX)(CX)-1 2) 若(CX)0且ZF=1,则转移到目标标号; 否则退出循环。,3. LOOPNE/LOOPNZ 不等/非零循环指令,指令格式,LOOPNE/LOOPNZ 目标地址标号,操作:1) (CX)(CX)-1 2) 若(CX)0且ZF1,则转移到目标标号; 否则退出循环。,例:已知(AX)=1, (BX)=2, (CX)=3, (DX)=4,程序 L20: INC AX ADD BX , AX SHR DX , 1 ( ),在括号内分别填入LOOP L20 ; LOOPE L20 LOOPNE L20,求:程序执行后AX、BX、CX、DX的结果。,第二节 8086/8088指令系统,一、数据传送指令,三、逻辑运算与移位指令,二、算术运算指令,四、串操作指令,五、控制转移指令,六、处理器控制指令,(一)标志位操作指令 CF、DF、IF,CF:,1. CLC ;(CF)0,2. STC ;(CF)1,DF:,1. CLD ;(DF)0,2. STD ;(DF)1,IF:,1. CLI ;(IF)0,2. STI ;(IF)1,第3章 汇编语言程序设计,3.1 汇编语言程序格式,3.4 汇编语言程序设计,3.3 DOS功能调用,3.2 伪指令,教学重点,本章介绍程序结构、伪指令、DOS功能调用。 重点:汇编语言程序的基本结构; 伪指令及其使用方法; DOS功能调用; 基本的汇编语言程序设计方法。 难点:汇编语言程序的设计,3.1 汇编语言程序格式,汇编语言,汇编程序,汇编语言源程序的格式,汇编语言语句的分类,汇编语言的语句格式,汇编语言 用助记符和符号地址指令编写的程序就是汇编语言或汇编语言源程序。 汇编语言是面向机器的语言。 特点: 1. 汇编语言的指令与机器指令一一对应,用助记符表示操作码,便于记忆和分析程序。 2. 可充分利用机器的硬件功能和结构特点,有效的加快程序的执行速度,实时性能好。,3.1 汇编语言程序格式,汇编程序 用于将汇编语言编写的源程序自动翻译成机器能执行的二进制代码程序(即目标程序)的软件叫汇编程序 作用: 1. 将源程序的助记符翻译成用二进制代码组成的目标程序; 检查语法错误; 展开宏指令。,3.1 汇编语言程序格式,汇编语言源程序的格式 1. 分段编写(代码段、数据段、堆栈段、附加段); 2. 每个段都要有段名; 3. 编写程序,段无先后; 4. 段分配由汇编程序来完成,由操作系统来划分 5. 数据的分配由汇编程序来完成 6. 汇编语言源程序结束用END语句 7. 每一个段的起始于结束格式为: 段名 SEGMENT 段名 ENDS 8. 每个源程序至少要有代码段。,3.1 汇编语言程序格式,汇编语言语句分类,语句类型,指令语句 作用:产生相应的机器代码,指定CPU做什么操作。,伪指令语句(指示性语句 ) 作用:不产生相应的机器代码,仅控制汇编过程。可 以完成数据的定义,分配存储器,指示程序开始和结束等功能。,宏指令语句 作用:由编程者按照一定的规则来定义的一种较“宏大”的指令,包括多条指令或伪指令 。,3.1 汇编语言程序格式,汇编语言的语句格式,3.1 汇编语言程序格式,名字 操作码/操作码 操作数 ;注释,说明: 综括号括起来的项可有可无; 项与项之间用空格键隔开; 操作数与操作数之间用逗号分隔。,名字:某些数据或存储器地址编的临时符号名字。 名字由131个字符组成。可以是AZ,az,09,?、_等。但第一个字符必须是字母。 命名规则: (1) 数字不能作为名字的第一个符号。 (2) 单独的问号(?)不能作为名字。 (3) 最大有效长度为31位。 (4) 汇编语言中有特定含义的保留字(如操作码、寄存器名等),不能作为名字使用。 (5)见名知义。如用BUFFER表示缓冲区、SUM表示累加和等。,3.1 汇编语言程序格式,汇编语言的语句格式名字,3.1 汇编语言程序格式,汇编语言的语句格式名字,段名:逻辑段的名字,名字,变量名:存放某一数据的存储单元地址,标号名:存放某一指令的存储单元地址,标号后面紧跟“:”号,过程名:子程序的名字,常数名:代表某一确定的常数,标号的三种属性,段属性,偏移属性,类型属性,定义该指令放在哪个逻辑段。,表示该指令放在逻辑段哪个偏移地址中。,指出该标号是在本段内引用还是在其他段中引用。段内引用属性为NEAR;段间引用属性为FAR。,3.1 汇编语言程序格式,汇编语言的语句格式名字标号,标号:某一指令所存放单元的符号地址。,操作数: 用来指定参与操作的数据。 多于一个,之间用逗号分开。 可以是常数或表达式。,操作码与操作数,例:MOV AX , BX,操作码: 指明操作的性质和功能,指令中的助记符都是操作码,无操作数: 一个操作数: 两个操作数: 伪指令、宏指令可有多个操作数:,3.1 汇编语言程序格式,变量,段属性,偏移属性,类型属性,表示变量放在哪个逻辑段,表示变量放在逻辑段哪个偏移地址中,变量类型定义变量所占的字节数。 如:BYTE(DB,1字节)、WORD(DW,2字节)、 DWORD(DD,4字节)、QWORD(DQ,8字节)、TBYTE(DT,10字节)。,3.1 汇编语言程序格式,汇编语言的语句格式名字变量,变量:某一数据所存放单元的符号地址。,操作数,立即数(常数),存储器(标号、变量),表达式(由操作数和运算操作符组成),寄存器,3.1 汇编语言程序格式,汇编语言的语句格式操作码/伪指令,汇编语言的语句格式操作数,常数,数值常数,字符串常数,符号常数,后缀:二进制B、八进制O或Q、十进制D、十六进制H。 十进制数可省掉后缀 十六进制数以AF开头时,前面须加数字0,字符串在计算机中以ASCII码存储。 如A的存储值是41H,AB的存储值是41、42H等。,用EQU或 “=” 定义的符号常量。 如用COUNT EQU 3或COUNT=3定义后 ,COUNT是一个符号常数,与数值3等价。,汇编语言的语句格式操作数常数,3.1 汇编语言程序格式,汇编语言的语句格式操作数表达式,3.1 汇编语言程序格式,表达式:用一个运算符对一个或几个操作数运算,这就构成了一个表达式,从而得到一个新值。,算术运算符 逻辑运算符 关系运算符 分析运算符 合成运算符,汇编语言的语句格式操作数表达式算术运算符,3.1 汇编语言程序格式,算术运算符:只能用于数值表达式,汇编语言的语句格式操作数表达式逻辑运算符,3.1 汇编语言程序格式,逻辑运算符:只能用于数值表达式,汇编语言的语句格式操作数表达式关系运算符,3.1 汇编语言程序格式,当关系不成立时,结果为0; 当关系成立时,结果为-1. (关系式的两个操作数必须是数字或是同一段内的两个地址单元) 设(AI)=6,汇编语言的语句格式操作数表达式分析运算符,3.1 汇编语言程序格
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养猪场租赁合同
- 林地承包合同模板
- 中亚股合同样本
- 餐饮技术入股合同协议书
- 业主出行收租合同标准文本
- 个人抵押贷款合同样本
- 2024年二月专卖店虚拟试衣间体型数据存储周期协议
- 小学一年级下册心理健康教育教案
- 名师工作室考核方案-基本要求
- 光伏分期合同样本
- 《义务教育信息科技教学指南》有效应用策略
- 2024年低碳生活科普知识竞赛题库
- 2025-2030全球藻源虾青素行业调研及趋势分析报告
- 2025年广东深圳市慢性病防治中心选聘专业技术人员3人历年高频重点提升(共500题)附带答案详解
- 新生儿感染的个案护理
- 国省道公路标志标线维护方案投标文件(技术方案)
- 面具的设计制作课件
- 病历书写规范细则(2024年版)
- 《国内手语翻译人才供求现状调研报告》
- 2023年西藏初中生物学业水平考试卷试题真题(含答案解析)
- 人教版八年级下册地理2024-2025学年八年级下册地理期末综合测试卷(二)(含答案)
评论
0/150
提交评论