微机原理第02章微处理器指令系统课件

上传人:s9****2 文档编号:568396833 上传时间:2024-07-24 格式:PPT 页数:30 大小:803.50KB
返回 下载 相关 举报
微机原理第02章微处理器指令系统课件_第1页
第1页 / 共30页
微机原理第02章微处理器指令系统课件_第2页
第2页 / 共30页
微机原理第02章微处理器指令系统课件_第3页
第3页 / 共30页
微机原理第02章微处理器指令系统课件_第4页
第4页 / 共30页
微机原理第02章微处理器指令系统课件_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《微机原理第02章微处理器指令系统课件》由会员分享,可在线阅读,更多相关《微机原理第02章微处理器指令系统课件(30页珍藏版)》请在金锄头文库上搜索。

1、第第2 2章章第第2章:章:2.3 数据传送类指令数据传送类指令数数据据传传送送是是计计算算机机中中最最基基本本、最最重重要要的的一一种种操操作作, ,传送指令也是最常使用的一类指令传送指令也是最常使用的一类指令传送指令把数据从一个位置传送到另一个位置传送指令把数据从一个位置传送到另一个位置除标志寄存器传送指令外,均不影响标志位除标志寄存器传送指令外,均不影响标志位重点掌握重点掌握MOV XCHG XLAT PUSH POP LEA第第2章:章: 2.3.1 通用数据传送指令通用数据传送指令提供方便灵活的通用传送操作提供方便灵活的通用传送操作有有3条指令条指令MOVXCHGXLATMOVMOV

2、XCHGXCHGXLATXLAT第第2章:章:1. 传送指令传送指令MOV(move)把把一一个个字字节节或或字字的的操操作作数数从从源源地地址址传传送至目的地址送至目的地址MOV reg/mem,immMOV reg/mem,imm;立即数送寄存器或主存;立即数送寄存器或主存MOV reg/mem/seg,regMOV reg/mem/seg,reg;寄存器送(段)寄存器或主存;寄存器送(段)寄存器或主存MOV reg/seg,memMOV reg/seg,mem;主存送(段)寄存器;主存送(段)寄存器MOV reg/mem,segMOV reg/mem,seg;段寄存器送寄存器或主存;段寄

3、存器送寄存器或主存演示演示第第2章:章:MOV指令立即数传送指令立即数传送mov cl,4;cl4cl4,字节传送,字节传送mov dx,0ffh;dx00ffhdx00ffh,字传送,字传送mov si,200h;si0200hsi0200h,字传送,字传送mov bvar,0ah;字节传送字节传送;假设;假设bvarbvar是一个字节变量,定义如下:是一个字节变量,定义如下:bvar bvar dbdb 0 0mov wvar,0bh;字传送字传送;假设;假设wvarwvar是一个字变量,定义如下:是一个字变量,定义如下:wvar wvar dwdw 0 0明确指令是字节操作还是字操作明确

4、指令是字节操作还是字操作以字母开头的常数要有前导以字母开头的常数要有前导以字母开头的常数要有前导以字母开头的常数要有前导0 0 0 0第第2章:章:MOV指令寄存器传送指令寄存器传送mov ah,al;ahal,字节传送,字节传送mov bvar,ch;bvarch ,字节传送,字节传送mov ax,bx;axbx,字传送,字传送mov ds,ax;dsax,字传送,字传送mov bx,al;bxal,字节传送,字节传送 寄存器具有明确的字节和字类型寄存器具有明确的字节和字类型第第2章:章:MOV指令存储器传送指令存储器传送mov al,bx;alds:bxmov dx,bp;dxss:bp+

5、0mov dx,bp+4;dxss:bp+4mov es,si;esds:si 不存在存储器向存储器的传送指令不存在存储器向存储器的传送指令第第2章:章:MOV指令段寄存器传送指令段寄存器传送mov si,dsmov ax,ds;axdsmov es,ax;esaxds 对段寄存器的操作不灵活对段寄存器的操作不灵活第第2章:章:MOV指令传送功能图解指令传送功能图解MOVMOV指令也并非任意传送指令也并非任意传送指令也并非任意传送指令也并非任意传送! !立即数立即数段寄存器段寄存器CS DS ES SSCS DS ES SS通用寄存器通用寄存器AX BX CX DXAX BX CX DXBP

6、SP SI DIBP SP SI DI存存储储器器非法指令的主要现象:非法指令的主要现象:两个操作数的类型不一致两个操作数的类型不一致无法确定是字节量还是字量操作无法确定是字节量还是字量操作两个操作数都是存储器两个操作数都是存储器段寄存器的操作有一些限制段寄存器的操作有一些限制第第2章:非法指令两个操作数类型不一致章:非法指令两个操作数类型不一致在在绝绝大大多多数数双双操操作作数数指指令令中中,目目的的操操作作数数和和源源操操作作数数必必须须具具有有一一致致的的数数据据类类型型,或或者者同同为为字字量量,或者同为字节量,否则为非法指令或者同为字节量,否则为非法指令MOV AL, 050AH;非

7、法指令,;非法指令,修正:修正:;mov ax,050ahMOV SI, DL;非法指令,;非法指令,修正:修正:;mov dh,0;mov si,dx第第2章:非法指令无法确定是字节量还是字量操作章:非法指令无法确定是字节量还是字量操作当当无无法法通通过过任任一一个个操操作作数数确确定定是是操操作作类类型型时时,需需要利用汇编语言的操作符显式指明要利用汇编语言的操作符显式指明MOV BX+SI, 255;非法指令,;非法指令,修正:修正:;mov byte byte ptrptr bx+si bx+si,255;byte byte ptrptr 说明是字节操作说明是字节操作;mov word

8、 word ptrptr bx+si bx+si,255;word word ptrptr 说明是字操作说明是字操作第第2章:非法指令两个操作数都是存储器章:非法指令两个操作数都是存储器8088指指令令系系统统除除串串操操作作指指令令外外,不不允允许许两两个个操操作作数都是存储单元(存储器操作数)数都是存储单元(存储器操作数)MOV buf2, buf1;非法指令,;非法指令,修正:修正:;假设;假设buf2和和buf1是两个字变量是两个字变量;mov ax,buf1;mov buf2,ax;假设;假设buf2和和buf1是两个字节变量是两个字节变量;mov al,buf1;mov buf2,

9、al第第2章:非法指令段寄存器的操作有一些限制章:非法指令段寄存器的操作有一些限制8088指指令令系系统统中中,能能直直接接对对段段寄寄存存器器操操作作的的指指令令只有只有MOV等个别传送指令,并且不灵活等个别传送指令,并且不灵活MOV DS, ES;非法指令,;非法指令,修正:修正:;mov ax,es;mov ds,axMOV DS, 100H;非法指令,;非法指令,修正:修正:;mov ax,100h;mov ds,ax MOV CS, SI;非法指令;非法指令;指令存在,但不能执行;指令存在,但不能执行第第2章:章:2. 交换指令交换指令XCHG(exchange)把两个地方的数据进行

10、互换把两个地方的数据进行互换寄存器与寄存器之间对换数据寄存器与寄存器之间对换数据寄存器与存储器之间对换数据寄存器与存储器之间对换数据不能在存储器与存储器之间对换数据不能在存储器与存储器之间对换数据XCHG reg,reg/memXCHG reg,reg/mem;reg reg reg/memreg/mem演示演示第第2章:例章:例2.2 数据交换数据交换mov ax,1199hmov ax,1199h;ax=1199hax=1199hxchg ah,alxchg ah,al;ax=9911hax=9911h;等同于;等同于 xchg al,ah xchg al,ahmov wvar,5566h

11、mov wvar,5566h ;wvarwvar是一个字量变量是一个字量变量xchg ax,wvarxchg ax,wvar ;ax=5566hax=5566h,wvar=9911hwvar=9911h;等同于;等同于 xchg wvar,ax xchg wvar,ax xchg al,byte ptr wvar+1xchg al,byte ptr wvar+1;ax=5599hax=5599h,wvar=6611hwvar=6611h;“byte “byte ptr ptr wvar+1”wvar+1”强强制制为为字字节节量量,只只取取高高字字节与节与ALAL类型交换,否则数据类型不匹配类型

12、交换,否则数据类型不匹配第第2章:章:3. 换码指令换码指令XLAT(translate)将将BX指指定定的的缓缓冲冲区区中中、AL指指定定的的位位移移处处的的一一个个字节数据取出赋给字节数据取出赋给AL换码指令执行前:换码指令执行前:在主存建立一个在主存建立一个字节量表格字节量表格,内含要转换成的目的代码,内含要转换成的目的代码表格首地址表格首地址存放于存放于BXBX,ALAL存放相对表格首地址的存放相对表格首地址的位移量位移量换码指令执行后:换码指令执行后:将将ALAL寄存器的内容转换为寄存器的内容转换为目标代码目标代码XLATXLAT;alds:bx+alalds:bx+al演示演示第第

13、2章:章:2.3.2 堆栈操作指令堆栈操作指令堆堆栈栈是是一一个个“后后进进先先出出FILO”FILO”(或或说说“先先进进后后出出FILO”FILO”)的的主主存存区区域域,位位于于堆堆栈栈段段中;中;SSSS段寄存器段寄存器记录其段地址记录其段地址堆堆栈栈只只有有一一个个出出口口,即即当当前前栈栈顶顶;用用堆堆栈栈指针寄存器指针寄存器SPSP指定指定堆堆栈栈只只有有两两种种基基本本操操作作:进进栈栈和和出出栈栈,对对应两条指令应两条指令PUSH和和POP图示图示第第2章:进栈指令章:进栈指令PUSH进进栈栈指指令令先先使使堆堆栈栈指指针针SP减减2,然然后后把把一一个个字操作数存入堆栈顶部

14、字操作数存入堆栈顶部PUSH r16/m16/segPUSH r16/m16/seg;SPSPSPSP2 2;SS:SPr16/m16/segSS:SPr16/m16/seg演示演示push axpush 2000h第第2章:出栈指令章:出栈指令POP出出栈栈指指令令把把栈栈顶顶的的一一个个字字传传送送至至指指定定的的目目的操作数,然后堆栈指针的操作数,然后堆栈指针SP加加2POP r16/m16/segPOP r16/m16/seg; r16/m16/segSS:SP r16/m16/segSS:SP;SPSPSPSP2 2pop axpop wvar演示演示第第2章:堆栈操作的特点章:堆栈

15、操作的特点堆栈操作的单位是字,进栈和出栈只对字量堆栈操作的单位是字,进栈和出栈只对字量字字量量数数据据从从栈栈顶顶压压入入和和弹弹出出时时,都都是是低低地地址址字字节节送低字节,高地址字节送高字节送低字节,高地址字节送高字节堆堆栈栈操操作作遵遵循循先先进进后后出出原原则则,但但可可用用存存储储器器寻寻址址方式随机存取堆栈中的数据方式随机存取堆栈中的数据堆栈段是程序中不可或缺的一个内存区,常用来堆栈段是程序中不可或缺的一个内存区,常用来n临时存放数据临时存放数据n传递参数传递参数n保存和恢复寄存器保存和恢复寄存器第第2章:章:2.3.3 标志操作指令标志操作指令1. 标志位操作指令标志位操作指令

16、CLC;复位进位标志:;复位进位标志:CF0STC;置位进位标志:;置位进位标志:CF1CMC;求反进位标志:;求反进位标志:CFCFCLD;复位方向标志:;复位方向标志:DF0STD;置位方向标志:;置位方向标志:DF1CLI;复位中断标志:;复位中断标志:IF0STI;置位中断标志:;置位中断标志:IF12. 标志寄存器低字节与标志寄存器低字节与AH的传送指令的传送指令3. 标志寄存器出入堆栈指令标志寄存器出入堆栈指令将将存存储储器器操操作作数数的的有有效效地地址址送送至至指指定定的的16位位通通用用寄存器寄存器第第2章:有效地址传送指令章:有效地址传送指令LEA(load effecti

17、ve address)LEA r16, mem;r16mem的有效地址的有效地址EA例题例题 有效地址的获取有效地址的获取mov bx,400hmov si,3chlea bx,bx+si+0f62h;BX400H3CH0F62H139EH第第2章:例章:例2.6 地址传送与内容传送地址传送与内容传送wvar dw 4142h;假设偏移地址为;假设偏移地址为04Hmov ax,wvar;内容传送:;内容传送:AX4142Hlea si,wvar;地址传送:;地址传送:SI0004H;等同于;等同于 lea si, 0004hmov cx,si;内容传送:;内容传送:CX4142Hmov di,

18、offset wvar;mov di,0004h;利用操作符;利用操作符OFFSET获取变量的有效地址获取变量的有效地址mov dx,di ;内容传送:;内容传送:DX4142H第第2章:调试程序章:调试程序DEBUGDEBUGDEBUG是是常常用用的的汇汇编编语语言言级级调调试试工工具具,为为汇汇编编语语言言程序员提供了分析指令、跟踪程序的有效手段程序员提供了分析指令、跟踪程序的有效手段常用命令:常用命令:A A 汇编汇编 U U 反汇编反汇编T T 单步执行单步执行G G 断点执行断点执行D D 数据显示数据显示R R 寄存器寄存器启动方法启动方法DOSDOS下执行程序下执行程序Windows 9xWindows 9x中进入中进入MS-DOSMS-DOS环境执行程序环境执行程序Windows Windows 2000/XP/NT2000/XP/NT下下运运行行COMMANDCOMMAND命命令令(不不是是CMDCMD命命令令,也也不不要要从从“命命令令提提示示符符”)进进入入MS-DOSMS-DOS环环境境执执行行程序程序

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号