电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

微型计算机原理03

78页
  • 卖家[上传人]:j****9
  • 文档编号:57316280
  • 上传时间:2018-10-20
  • 文档格式:PPT
  • 文档大小:3.03MB
  • / 78 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第三章 8086的寻址方式和指令系统,2,本章内容,8086的寻址方式 指令的机器码表示法 8086的指令系统,3,3-1 8086的寻址方式,指令与指令格式 指令寻址方式,4,指令,机器指令 以二进制代码(机器码)表示指令 直接,不易读懂 汇编指令 以符号形式表示指令 易读,需要翻译(汇编) 与CPU相关,5,指令成分,操作码(操作的性质) 表示指令应完成的具体操作 以助记符的形式表示 操作数(操作的对象) 表示指令的操作对象(参与操作的对象) 源操作数、目的操作数,6,指令操作数,双操作数 OPR DEST,SRC 单操作数 OPR DEST 无操作数 OPR (隐含操作数),7,寻址方式及操作数类型,寻找指令中所需操作数的方法 所需的操作数 寄存器操作数 存储器操作数 立即数操作数 输入/输出端口操作数,8,指令寻址方式,立即数寻址 寄存器寻址# 存储器寻址 直接寻址 寄存器间接寻址 变址寻址 基址寻址 基址变址寻址 I/O寻址,9,寻址方式立即数寻址,指令中直接给出操作数本身 八位 / 十六位的常数 仅用作源操作数的寻址MOV AX,1000H; AX1000HMOV AH,1

      2、0H; AH10H,10,寻址方式立即数寻址,MOV CX,2A50H,11,寻址方式寄存器寻址,所需的操作数在CPU的寄存器中,指令中给出该寄存器的名称 八位 / 十六位寄存器 速度较快MOV AX,BX;AX(BX)MOV AH,AL;AH(AL),12,寻址方式直接寻址,所需的操作数在存储器中。 指令中直接给出操作数所在单元的有效地址(段内偏移地址)MOV AX,1000H; AX (DS:1000H)MOV 1000H,AH; DS:1000H(AH),13,寻址方式直接寻址,MOV AX,2000H,14,寻址方式寄存器间接寻址,所需的操作数在存储器中。 操作数所在单元的有效地址存放在寄存器中,指令中给出寄存器的名称 仅限于BX、BP、SI、DIMOV AX,BX;AX (DS:(BX)MOV AH,BP;AH (SS:(BP),15,寻址方式寄存器间接寻址,MOV BX,SI,16,寻址方式变址寻址,所需的操作数在存储器中 变址寄存器:SI、DI 操作数所在单元的有效地址 变址寄存器内容 指令中给出的相对位移MOV AX,2DI;AX (DS:(DI)+2)MOV AX,D

      3、I+2;AX (DS:(DI)+2),17,寻址方式变址寻址,MOV BX,COUNTSI,18,寻址方式基址寻址,所需的操作数在存储器中。 基址寄存器:BX、BP 操作数所在单元的有效地址 基址寄存器内容 指令中给出的相对位移MOV AX,2BX;AX (DS:(BX)+2)MOV AX,BX+2;AX (DS:(BX)+2),19,寻址方式基址变址寻址,所需的操作数在存储器中。 操作数所在单元的有效地址: 基址寄存器内容 变址寄存器内容 指令中给出的相对位移MOV AX,2BXDI;AX (DS:(BX)+(DI)+2),20,寻址方式基址变址寻址,MOV AX,BXSI,21,寻址方式基址变址寻址,MOV AX,MASKBXSI,22,寻址方式存储器寻址小结,指令中给出地址表达式,有效地址EA 由三部分组成(可选) 相对位移Disp 基址寄存器BX/BP 变址寄存器SI/DI,23,寻址方式输入/输出寻址,输入输出端口操作数 直接寻址 指令中直接给出I/O端口地址的低八位,只能访问256个I/O端口(00HFFH)IN AL,2FH 间接寻址 用寄存器DX的内容来指定I/O端口地

      4、址 适用十六位地址,能访问64K个I/O端口(0000HFFFFH)IN AL,DX,24,3-2 指令的机器码表示法,机器码 二进制机器语言指令 变长指令指令 指令的长度为16个字节 操作码 操作数 字/字节 寄存器.,25,指令编码,MOV SP,BX,26,指令编码,MOV Word ptr BX+2100H,0FA50H,27,3-3 8086的指令系统,数据传送指令 算术运算指令 逻辑运算及移位指令 字符串处理指令 控制转移指令 处理器控制指令,28,数据传送指令,共14条 寄存器寄存器 寄存器存储器 累加器I/O端口 字传送/字节传送 除了SAHF/POPF外,均不影响PSW,29,数据传送指令,通用数据传送指令 输入输出指令 地址目标传送指令# 标志传送指令,30,通用数据传送指令,MOV DEST,SRC PUSH SRC POP DEST XCHG DEST,SRC XLAT,31,通用数据传送MOV,32,通用数据传送MOV,规则 立即数不能作DEST 立即数不能传至段寄存器 存储器之间不能交互(双操作数时)(串除外) 段寄存器之间不能交互 CS不能作为DEST I

      5、P不能参与传送 DEST和SRC的类型必须一致,33,通用数据传送PUSH/POP,字操作 16位操作数 通用寄存器 段寄存器(CS不能用于POP) 存储器 FILO SP指向栈顶 底部高地址/顶部低地址,34,通用数据传送XCHG,8位/16位操作数交换 寄存器寄存器 寄存器存储器 段寄存器不能参与,35,通用数据传送XLAT,查表 ( DS10H + (BX) + (AL) ) AL BX:表首 AL:表内偏移值(自变量),36,输入输出指令,累加器AX/ALI/O端口 输入指令IN 输出指令OUT,37,输入输出指令IN,IN AL,34H ;(34H)AL IN AX,34H ;(34H)AL;(35H)AH IN AL,DX ;(DX)AL IN AX,DX ;(DX)AL;(DX)+1)AH,38,地址目标传送指令,LEA DEST,SRC LDS DEST,SRC LES DEST,SRC 其中 DEST:16位通用寄存器(除了段寄存器) SRC:存储器操作数(地址表达式),39,地址目标传送LEA,LEA BX,1000HBXSI1000H + (BX) + (SI)

      6、BX,有效地址(段内偏移地址),40,地址目标传送LDS,LDS SI,1000HBXSI,41,地址目标传送LES,LES DI,1000HBXSI,42,标志传送指令,LAHF SAHF PUSHF POPF 隐含操作数 影响PSW,43,算术运算指令,操作数 带符号二进制数(补码) 无符号数二进制数 无符号压缩十进制数 无符号非压缩十进制数,44,算术运算指令,加法 减法 乘法 除法,45,加法运算指令,ADD DEST,SRC ADC DEST,SRC INC DEST AAA DAA,46,减法运算指令,SUB DEST,SRC SBB DEST,SRC DEC DEST NEG DEST CMP DEST,SRC AAS DAS,47,乘法运算指令,MUL SRC IMUL SRC AAM,48,除法运算指令,DIV SRC IDIV SRC AAD CBW CWD,49,逻辑运算及移位指令,逻辑运算 算术移位 循环移位,50,逻辑运算,按位运算 NOT DEST ;不影响标志位 AND DEST,SRC OR DEST,SRC CF/OF0 XOR DEST,SRC AF

      7、无效 TEST DEST,SRC ZF/SF/PF有效,51,算术移位,SHL DEST,计数值 SHR DEST,计数值SAR DEST,计数值计数值大于1时,必须使用CL作计数器,52,循环移位,ROL DEST,计数值 ROR DEST,计数值,RCL DEST,计数值RCR DEST,计数值,53,串处理指令(串操作),批量数据处理 串 一系列存放在存储器中的字或字节数据 最大串长64KB 串元素 串中的成员 每种串操作指令只对串中的元素作同一种操作,54,串处理指令(串操作),55,串处理指令(串操作),串指令的操作 源串位于DS段内(可以使用段前缀),偏移量由SI给出 目的串位于ES段内(不允许使用段前缀),偏移量由DI给出 每次执行后修正SI/DI,增减方向由DF确定(DF=1:减量;DF=0:增量)。(STD/CLD) 串的长度(字节/字数)存放在CX中 可以在存储器之间操作,56,串处理指令(串操作),串操作 单次操作 按指令内容执行一次操作 修正SI/DI 重复操作 REP前缀 重复指令串指令规定的操作,直至次数到或条件成立 如 REP MOVS,57,串处理指令(

      8、串操作),MOVS (DS)10H+(SI)(ES)10H+(DI) if DF=1 then (SI) - 1SI,(DI) - 1DIelse (SI) + 1SI,(DI) + 1DI REP MOVS (CX) - 1CX if (CX) 0 then REDO else Continue,58,串处理指令(串操作),CMPS串比较 SCAS串扫描指令 将AX(或AL)中的数据与目标串中的数据比较 用作数据搜索 LODS数据串装入 将源串中的数据(单个)装入AX(或AL)中 重复前缀无实际意义 STOS串存储 将AX(或AL)中的数据存入目的串单元中 可加重复前缀,59,串处理指令(串操作),重复前缀 REP REPE/REPZ REPNE/REPNZ,60,控制转移指令,程序转移 改变CS:IP(或IP) JMP/J CALL/RET LOOP/LOOP,61,控制转移指令无条件转移,JMP 目标,62,控制转移指令无条件转移,JMP DWORD PTR SI+0125H (CS)=1200H,(IP)=0005H (DS)=2500H,(SI)=1300H (26425H)

      9、=4500H,(26427H)=32F0H,63,控制转移指令无条件转移,64,控制转移指令子程序调用,CALL 过程名 断点入栈转移(改变CS:IP) RET 断点出栈CS:IP CALL 段内/段间 直接/间接,65,控制转移指令子程序调用,段内直接 目标地址的偏差在指令中 CALL PROG_G (CS)=2000H,(IP)=1050H (SS)=5000H,(SP)=0100H DISP=1234H IP(IP) + DISP,66,控制转移指令子程序调用,67,控制转移指令子程序调用,段内间接 CALL BX 目标地址在寄存器中 CALL WORD PTR BX+SI 目标地址在存储器中,68,控制转移指令子程序调用,段间直接 目标地址在指令中 CALL FAR PTR PROG_F (CS)=1000H,(IP)=205AH (SS)=2500H,(SP)=0050H PROG_F位置(CS)=3000H,(IP)=0500H,69,控制转移指令子程序调用,70,控制转移指令子程序调用,段间间接 CALL DWORD PTR BX 目标地址存放在存储器中,71,控制转移指令条件转移,根据标志寄存器的状态来决定是否转移 相对转移 在IP上叠加位移(八位) 段内 J 目标,72,控制转移指令条件转移,73,控制转移指令条件转移,74,控制转移指令循环,重复执行循环体内的指令 LOOP 目标 CX为循环次数 相对转移,75,控制转移指令循环,LOOP LOOPE/LOOPZ LOOPNE/LOOPNZ JCXZ,76,处理器控制指令,77,课堂练习,78,课堂练习,

      《微型计算机原理03》由会员j****9分享,可在线阅读,更多相关《微型计算机原理03》请在金锄头文库上搜索。

      点击阅读更多内容
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.