版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、8086 中, BIU 负责取指、读操作数和写结果,而 EU 负责执行指令。 EU 和 BIU 之 间的通信是通过 16 位的 ALU 总线和 8 位指令队列总线来完成的EU 接收指令队列中的指令,进行指令译码、分析,形成各种控制信号,实现 EU 各个 部件完成规定动作的控制。运算器分为算术逻辑单元 ALU (2个16位数据的算术运算。2个16位数字的逻辑运算 16 位偏移地址 EA 的运算)和通用寄存器组:数据、地址EU 的工作过程 1. 从 BIU 的指令队列中取指令字节;2. EU 控制电路进行指令译码、分析;3. 如需要,送操作数的偏移地址至 BIU ;4. 将 BIU 取来的操作数送
2、 ALU 进行运算;5. 存运算结果到通用寄存器或送至 BIU ;6. 更新标志寄存器。总线接口单元 BIU? 总线控制逻辑(分时传递地址信息或数据信息)? 指令队列缓冲器( FIFO 用于暂存指令取指令和执行指令可重叠操作)? 地址生成( 4 个 16 位段寄存器, 16 位指令指针寄存器 IP , 20 位地址产生器)BIU 的工作过程1. 从存储器的指定单元取出指令;2. 将指令送至指令流队列中排队或直接传送给 EU3. 把 EU 的操作结果传送到指定的存储单元或外设端口中指令队列缓冲器: FIFO 结构,指令队列至少保持有一条指令,且只要有一条指令, EU 就开始执行,指令队列只要不满
3、, BIU 就会自动执行取指操作,直到填满为止。 当执行转移指令时, EU 要求 BIU 从新的地址中重新取队列中原有指令被清除,新取 得的第一条指令直接送 EU 执行,随后取得的指令填入队列。地址产生器 产生 20 位的地址OF :溢出标志输入:段寄存器中的 16 位段首地址(逻辑地址)从 EU 中来的 16 位段内偏移地址 (逻辑地址)输出: 20 位实际地址(物理地址) 8086CPU 地址总线宽度 20 位;寄存器16位物理地址PA =(段首地址(CS、DS、 址( IP 或 EU 部件提供)SS、 ES 提供)左移 4 位AXAHAL累加器( 数据寄存器BXBHBL基址寄存器CXCH
4、CL计数寄存器通用寄存器组DXDHDL数据寄存器二进制位)偏移地SP堆栈指针地址指针及变址寄存器)BP基址指针SI源变址指针DI目的变址指针IP指令指针控制寄存器组FLAG标志寄存器CS代码段寄存器段寄存器组DS数据段寄存器SS堆栈段寄存器ES附加段寄存器o1. 当进行带符号的补码运算时,算术运算的结果超出了机器所能表达的带符号数的范围,就会产生溢出,OF = 1 ;否则OF = 0,表示运算结果无溢出发生。求解方法:双进位位法最高进位位 次高进位位2. 两个无符号数相加时,当最高数值位向高位数值位有进位时,即 CF=1 时表示有溢 出;当 CF=0 时表示无溢出。SF:符号标志,运算结果为负
5、时, SF=1; 否则为 0ZF :全零标志,运算结果各位都为零,则 ZF=1; 否则为 0AF:辅助进位标志,作加法时 D3位向 D4 位进位,则 AF=1; 否则为 0PF:奇偶标志,操作结果的低 8位中含有偶数个 1 ,则 PF=1; 否则为 0CF :进位标志,加法时最高位产生进位或减法时高位产生借位, CF=1 ;否则为 0IF :中断允许标志,控制可屏蔽中断的标志,若IF = 1,表示允许CPU接受外部从INTR弓I线上发来的可屏蔽中断请求信号;若 IF = 0,则禁止。DF:方向标志,用于控制字符串操作指令的步进方向,当DF = 1时,字符串操作指令将从高地址到低地址的方向对字符
6、串进行处理;若 DF = 0时,贝V相反。总线周期 CPU 访问一次存储器单元或 I/O 口所需的时间。总线周期全部由 BIU 来完成,所以也称为 BIU 总线周期。一个基本的总线周期至少由 4 个时钟周期组成 存储器以字节为单位存储信息。为区别不同的字节存储单元,每个单元都被指定一个唯一的编号,称为该单元的物理地址(简称PA)。地址编号从0开始,按顺序加1 ,一般用十六进制数表示。因此 PC 机的内存是以字节单元为单位对内存进行编址8086 地址线有 20 根,存储器的最大存储空间为 1MB (220),因此存储器地址范围为 00000H FFFFFH: 8086 有 20 根地址线,但寄存
7、器内部可以表示的地址最多只能是 16 位。为了能 寻址 1MB 空间, 8086 对存储器进行逻辑分段,每个段最大为 64KB ,最小为 16B采用了段地址加偏移地址的寻址方式CS: IP,这样最大寻址范围扩大到FFFFF,即1MB 。段基址:一个逻辑段的起始地址,形如 XXXXH 。偏移地址:段内一个存储单元到达段地址的距离(16 位)。物理地址PA :存储单元的实际地址(20位)。逻辑地址 LA :段基址和偏移地址。注意:逻辑地址是在程序指令中引用和操作的地址;而物理地址是在20 位地址总线上产生的地址进栈出栈(二 52 53 )每个I/O 端口都有一个唯一的端口地址,由于只用地址总线的低
8、16位A15A0来寻址端口地址,所以 8086 CPU 可以访问的 I/O 端口地址共有 64KB ,其地址为 0000H FFFFH无操作数指令,例:等待指令 WAIT 单操作数指令,例:加 1 指令 INC AL 双操作数指令,例:减法指令 SUB AL , BL目的操作数:前者 (AL)源操作数:后者 (BL)用 BX 、SI 、DI 默认段寄存器: DS用 BP 默认段寄存器: SS寻址方式(三 12 左右)对 I/O 端口的寻址方式有端口直接寻址和端口间接寻址方式两种。访问 I/O 端口 只能使用其专用指令:IN 和 OUT 指令。端口直接寻址:当端口地址在 8 位二进制 n=00H
9、 FFH 范围时才可使用直接寻址方式端口间接寻址:当端口地址大于 FFH,则只能采用间接寻址方式,必须使用间址寄 存器DX,存放I/O端口的地址码CS、立即数不作目的数堆栈一一以“先进后出”原则组织起来的连续的内存空间。堆栈操作以字为单位。固定以SS:SP为指针指示栈顶,出、入堆栈的操作均针对栈顶单元进行。80X86的堆栈生长方向为“向下增长”入栈,指针减出栈,指针加入栈操作(三30)交换指令一一XCHG功能:将源、目的操作数的内容互相交换,指令执行后源、目的操作数同时被 改变累加器专用传送指令(1)输入/输出(I/O )指令 输入指令一一IN功能:把指定端口中的一个数据(字节或字)输入至AL
10、或AX。指令形式:IN累加器,端口地址IN AL ,20H ;从20H 端口输入一个字节至 AL 输出指令一一OUT功能:把AL或AX中的数据输出到指定的端口。指令形式:OUT端口地址,累加器OUT 20H,AL ;将AL中一字节输出到20H端口换码指令一一XLAT功能:直接查表并读表格中元素值的指令)换码指令一一XLAT功能:直接查表并读表格中元素值的指令目标地址传送指令不是传送操作数,而是传送操作数的地址,把存储单元地址送入 指定的寄存器。(1 )有效地址送寄存器指令 LEA 源、目操作数长度必须一致。 源、目操作数不能同时是存储器操作数。 源、目操作数不能同时是段寄存器。 立即数和代码段
11、寄存器 CS 不能作目操作数。 当目操作数是段寄存器时,源操作数不能是立即数 可以使用段寄存器的指令: MOV 、PUSH 、POP。 除 XCHG 指令外,其它数传指令仅改变目操作数,源操作数保持不变。 除 SAHF 、POPF 指令外,其它数传指令的执行不影响标志位。不带进位加指令 ADD带进位位的加法指令 ADCADC AL , 78H; AL J AL + 78H + CfADC AX , CX ; AX J AX + CX + CfADC BX , WORD PTRDI; BX J BX DI 1DICF加1指令一一INC执行之后影响标志位 SF、ZF 、AF、PF、OF ,但不影响
12、 CFBCD例:将分别存放在 34000H 、34200H 处的两个 4 位组合 BCD 码相加,组合码的结果放在 34200H 处。MOVAX,3400HMOVDS,AX;设置默认段寄存器值MOVSI ,0 ;使 SI 指向 34000H 单元MOVAL,SIADDAL ,DI ;低 2 位组合 BCD 码相加DAA;调整得组合 BCD 码,仍在 AL 中MOV DI , AL ;组合 BCD 码结果(低 2 位)存入 34200H 处MOVAL ,SI+1ADC AL, DI+1;高 2 位组合 BCD 码相加DAAMOV DI+1 , AL ;组合 BCD 码结果(高 2 位)存入 34
13、201H 处MOV DI+2 , 0ADC DI+2 ,0 ;高位的进位存入 34202H 处 不带借位减法指令 SUB 带借位的减法指令 SBB 比较指令 CMP 形式: CMP dst , src判断条件:1. 无符号数比较大小:CF=O , dst src ; CF=1 , dst v src。2. 两个正数比较大小:SF=0 , dst src ; SF=1 , dst v src。3. 两个带符号数比较大小:OF SF=0 , dstsrc ; OF SF=1 , dstsrc无论两个有符号数还是无符号数比较是否相等: ZF=1 , dst=src 求补指令 NEG形式:NEG ds
14、t ;dst 0 -dst 无符号数乘法指令: MUL 通用寄存器或存储器带符号数乘法指令: IMUL 通用寄存器或存储器无符号数除法指令: DIV 通用寄存器或存储器带符号数除法指令: IDIV 通用寄存器或存储器小结: 加、减法的运算结果与两个操作数的长度相等,进、借位反映在标志位上。 乘、除法运算仅由指令指定一个操作数,另一个操作数固定为累加器。 除了除法和符号扩展指令外,其它算术运算指令均影响状态标志,不同指令对 标志位的影响也各不相同。 允许使用 BCD 码进行算术运算。为了得到正确的 BCD 码运算结果,应使用相 应的十进制调整指令。 所有的十进制调整均对累加器进行。加、减、乘法的
15、调整在运算之后进行,只有 除法必须先调整,后运算布尔型指令(1 )与、或、非、异或 AND 、OR、NOT 、XOR执行之后影响所有状态标志 SF、ZF、 AF、PF、CF、OF例 1. 把标志寄存器 FLAGS 中符号标志位 SF 置 1 ;2. 将标志寄存器 FLAGS 中跟踪标志位 TF 置 1 ;3. 将标志寄存器 FLAGS 中溢出位 OF 变反。1. LAHF2. PUSHFOR AH, 80HPOP AXSAHFOR AX, 0100HPUSH AXPOPF3. PUSHFPOP AXXOR AX, 0800HPUSH AXPOPF 检测指令TEST如:TEST AL , 20H
16、 ;取 AL 的 D5 位JZ BCLR; ZF=1 (该位为0 )就转至U BCLR处算术左移指令SAL(移空的位全部补0 )算术右移指令SAR(移空的位用原操作数的符号位补充)逻辑左移指令SHL(移空的位全部补0) 逻辑右移指令SHR(移空的位全部补0) 无条件转移指令JMP调用指令CALL格式:CALL操作数(即目标地址)返回指令RET格式:RETRET8 位立即数位于被调过程的末尾;必须与 CALL指令成对使用条件转移指令JCC标志位=1则转移JSJZ/JEJP/JPEJCJO? 判断无符号数大小的指令JA/JNBE;目操作数源操作数则转移JAE/JNB/JC;目操作数 源操作数则转移
17、JB/JNAE/JNC;目操作数V 源操作数则转移JBE/JNA;目操作数w源操作数则转移? 判断带符号数大小的指令JG/JNLE ;目操作数源操作数则转移JGE/JNL ;目操作数源操作数则转移JL/JNGE;目操作数V 源操作数则转移JLE/JNG;目操作数W源操作数则转移LOOP 指令:CX 1 f CX CX工0 ? 是:转移 否:顺序执行LOOPZ指令CX 1 f CX CX工0且Zf= 1 ? 是:转移 否:顺序执行MOV CX ,10(其它初始条件)NXT : DEC CXJCXZ LAST(循环执行的指令)JMP NXTLAST :(退出循环后的处理)以字母开头,由大写字母 A
18、Z 小写字母 az (汇编程序不区分大小写)、数字(09 )及4个特殊字符(?、$、和_等)组成名字的命名规则:字符串长度不能超过 31 个字符命名不能使用汇编语言中的保留字-操作数如果是两个操作数,中间用逗号隔开操作数的形式可以有:常数、寄存器名、标号、变量和表达式DB -变量为字节数据类型(8位)DW -变量为字数据类型(16位)DD -变量为双字数据类型(32位)DQ -变量为4字数据类型(64位)DT -变量为10字节数据类型(80位)ST DB 96, 20, ?, 57; 以ST为首址连续分配 4个字节的存储单元STR DB How are you ? $定义字符串TWIN DB 5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车辆整改方案十篇
- 超市人员培训计划范文(24篇)
- 医护助理职业发展规划
- 如图在直角坐标系中作出下列已知点关于原点o的对称
- 《 青蒿素 人类征服疾病的一小步》青蒿素研究的成果转化的风险评估课件
- 介入放射学考试题及答案
- 药品标签说明书管理规范培训试题及答案
- 广东省广州市2026年中考三模英语试卷附答案
- 药品广告审查与发布规范培训试题及答案
- 药品零售企业质量负责人岗前培训试题及答案
- 四川通达化工有限责任公司峨边分公司地块土壤污染状况初步调查报告
- 降本质量风险管理制度
- DB35∕T 84-2020 造林技术规程
- 客运公司安全生产培训和教育学习制度
- 攻读博士学位期间材料科学研究计划参考范文
- 2023陆上石油天然气停产井安全风险防控指南
- DB32∕T2621-2014 特大型桥梁机电工程质量检验评定规范
- 三氧化硫泄露现场预案(6篇)
- 西方社会学理论教案
- 考点24 人与环境-五年(2020-2024年)高考生物学真题专项分类汇编
- 概率论与数理统计章节练习题及答案
评论
0/150
提交评论