第3章指系统2.ppt
《第3章指系统2.ppt》由会员分享,可在线阅读,更多相关《第3章指系统2.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3 3章章第三章第三章 指令系统指令系统8086指指令令系系统统中中,包包含含133条条基基本本指指令令,与与寻寻址址方式再加上不同的数据形式,可构成方式再加上不同的数据形式,可构成上千种指令。上千种指令。按功能,指令可分为按功能,指令可分为6类类数据传送类数据传送类算术运算类算术运算类逻辑运算与移位类逻辑运算与移位类串操作类串操作类处理器控制类处理器控制类第第3章:章:3.2 数据传送类指令数据传送类指令数数据据传传送送是是计计算算机机中中最最基基本本、最最重重要要的的一一种种操操作作,传传送送指指令也是最常使用的一类指令令也是最常使用的一类指令可可完完成成寄寄存存器器之之间间、寄寄存存
2、器器与与存存储储器器之之间间、寄寄存存器器与与I/OI/O端口端口之间的字节或字传送。之间的字节或字传送。传送指令把数据从一个位置传送到另一个位置传送指令把数据从一个位置传送到另一个位置除除SAHFSAHF和和POPFPOPF标志寄存器传送指令外,均不影响标志位标志寄存器传送指令外,均不影响标志位重点掌握重点掌握MOV XCHG XLAT PUSH POP LEA第第3章:章:3.2 数据传送类指令数据传送类指令数据传送类指令,共数据传送类指令,共14条,分为条,分为4小类:小类:通用数据传送通用数据传送(5条条)目标地址传送目标地址传送(3条条)标志位传送标志位传送(4条条)I/O数据传送数
3、据传送(2条条)指令类型指令类型指令功能指令功能指令书写格式指令书写格式通用数据通用数据传送传送字节或字传送字节或字传送字压入堆栈字压入堆栈字弹出堆栈字弹出堆栈字节或字交换字节或字交换字节翻译字节翻译MOV d,sPUSH sPOP dXCHG d,sXLAT目标地址目标地址传送传送装入有效地址装入有效地址装入装入DS寄存器寄存器装入装入ES寄存器寄存器LEA d,sLDS d.s LES d,s标志位标志位传送传送将将FR低字节装入低字节装入AH寄存器寄存器将将AH内容装入内容装入FR低字节低字节将将FR内容压入堆栈内容压入堆栈从堆栈弹出从堆栈弹出FR内容内容LAHFSAHFPUSHFPOP
4、FI/O数据数据传送传送输入字节或字输入字节或字输出字节或字输出字节或字IN 累加器,累加器,端口端口 OUT 端口,累加器端口,累加器第第3章:章:3.2.1 通用数据传送指令通用数据传送指令提供方便灵活的通用传送操作提供方便灵活的通用传送操作有有5条指令条指令MOVXCHGXLATPUSHPOPMOVMOVXCHGXCHGXLATXLATPUSHPUSHPOPPOP第第3章:章:1.传送指令传送指令MOV(move)把把一一个个字字节节或或字字的的操操作作数数从从源源地地址址传传送送至至目目的地址的地址MOV MOV reg/mem,immreg/mem,imm;立即数送寄存器或主存;立即
5、数送寄存器或主存MOV MOV reg/mem/seg,regreg/mem/seg,reg;寄存器送(段)寄存器或主存;寄存器送(段)寄存器或主存MOV MOV reg/seg,memreg/seg,mem;主存送(段)寄存器;主存送(段)寄存器MOV MOV reg/mem,segreg/mem,seg;段寄存器送寄存器或主存;段寄存器送寄存器或主存演示演示第第3章:章:MOV指令立即数传送指令立即数传送mov cl,4;cl4cl4,字节传送,字节传送mov dx,0ffh;dx00ffhdx00ffh,字传送,字传送mov si,200h;si0200hsi0200h,字传送,字传送m
6、ov bvar,0ah;字节传送字节传送;假设;假设bvarbvar是一个是一个 字字 节节 变量,定义如下:变量,定义如下:bvarbvar dbdb 0 0mov wvar,0bh;字传送字传送;假设;假设wvarwvar是一个是一个 字字 变变 量,定义如下:量,定义如下:wvarwvar dwdw 0 0明确明确 指令是指令是 字节操作还是字节操作还是 字操作字操作以字母开头的常数要有前导以字母开头的常数要有前导以字母开头的常数要有前导以字母开头的常数要有前导0 0 0 0第第3章:章:MOV指令寄存器传送指令寄存器传送mov ah,al;ahal,字节传送,字节传送mov bvar,
7、ch;bvarch,字节传送,字节传送mov ax,bx;axbx,字传送,字传送mov ds,ax;dsax,字传送,字传送mov bx,al;bxal,字节传送,字节传送mov ax,0 ;AX清零,字传送清零,字传送 寄存器具有明确的字节和字类型寄存器具有明确的字节和字类型第第3章:章:MOV指令存储器传送指令存储器传送mov al,bx;alds:bxmov dx,bp;dxss:bp+0mov dx,bp+4;dxss:bp+4mov es,si;esds:simov bx,ax ;ds:bx ax 不存在存储器向存储器的传送指令不存在存储器向存储器的传送指令第第3章:章:MOV指令
8、段寄存器传送指令段寄存器传送mov si,dsmov ax,ds;axdsmov es,ax;esaxdsmov cs,ax ;错误指令错误指令 对段寄存器的操作不灵活对段寄存器的操作不灵活第第3章:章:MOV指令传送功能图解指令传送功能图解MOVMOV指令也并非任意传送指令也并非任意传送指令也并非任意传送指令也并非任意传送!立即数立即数段寄存器段寄存器CS DS ES SSCS DS ES SS通用寄存器通用寄存器AX BX CX DXAX BX CX DXBP SP SI DIBP SP SI DI存存储储器器MOV指令需指令需注意的问题:注意的问题:MOV指令可传送指令可传送8位数据,也
9、可传送位数据,也可传送16位数据位数据 MOV指指令令中中的的两两个个操操作作数数s和和d,必必用用1个个寄寄存存器器,不不允允许许同同为为存存储单元储单元不能不能用用CS和和IP做目的操作数做目的操作数不允许不允许段寄存器之间直接传送数据段寄存器之间直接传送数据不允许不允许立即数做目的操作数立即数做目的操作数不能不能向段寄存器送立即数向段寄存器送立即数第第3章:非法指令两个操作数类型不一致章:非法指令两个操作数类型不一致在在绝绝大大多多数数双双操操作作数数指指令令中中,目目的的操操作作数数和和源源操操作作数数必必须须具具有有一一致致的的数数据据类类型型,或或者者同同为为字字量量,或或者者同同
10、为为字字节节量量,否则为非法指令否则为非法指令MOV AL,050AH;非法指令,;非法指令,修正:修正:;mov ax,050ahMOV SI,DL;非法指令,;非法指令,修正:修正:;mov dh,0;mov si,dx第第3章:非法指令无法确定是字节量还是字量操作章:非法指令无法确定是字节量还是字量操作当当无无法法通通过过任任一一个个操操作作数数确确定定是是操操作作类类型型时时,需需要要利利用用汇汇编语言的操作符显式指明编语言的操作符显式指明MOV BX+SI,255;非法指令,;非法指令,修正:修正:;mov byte byte ptrptr bx+si bx+si,255;byte
11、byte ptrptr 说明是字节操作说明是字节操作;mov word word ptrptr bx+si bx+si,255;word word ptrptr 说明是字操作说明是字操作第第3章:非法指令两个操作数都是存储器章:非法指令两个操作数都是存储器8086指指令令系系统统除除串串操操作作指指令令外外,不不允允许许两两个个操操作作数数都都是是存存储单元(存储器操作数)储单元(存储器操作数)MOV buf2,buf1;非法指令,;非法指令,修正:修正:;假设;假设buf2和和buf1是两个字变量是两个字变量;mov ax,buf1;mov buf2,ax;假设;假设buf2和和buf1是两
12、个字节变量是两个字节变量;mov al,buf1;mov buf2,al非法指令的主要现象:非法指令的主要现象:两个操作数的类型不一致两个操作数的类型不一致无法确定是字节量还是字量操作无法确定是字节量还是字量操作两个操作数都是存储器两个操作数都是存储器段寄存器的操作有一些限制段寄存器的操作有一些限制第第3章:非法指令段寄存器的操作有一些限制章:非法指令段寄存器的操作有一些限制8086指指令令系系统统中中,能能直直接接对对段段寄寄存存器器操操作作的的指指令令只只有有MOV等个别传送指令,并且不灵活等个别传送指令,并且不灵活MOV DS,ES;非法指令,;非法指令,修正:修正:;mov ax,es
13、;mov ds,axMOV DS,100H;非法指令,;非法指令,修正:修正:;mov ax,100h;mov ds,ax MOV CS,SI;非法指令;非法指令;指令存在,但不能执行;指令存在,但不能执行例:例:MOV BX+2000H,12ABH 其其 中中,BX=1200H,CS=1800H,IP=0500H,DS=3000HDSDSBXBX120012003000300020002000ABAB33200H33200H33201H33201H1212课堂练习:课堂练习:1、完成两个存储单元完成两个存储单元(SI)和和(DI)之间数据传送。之间数据传送。2、CPU内部内部寄存器寄存器之间
14、实现数据传送。之间实现数据传送。3、将数据段首地址、将数据段首地址data填入填入DS中中第第3章:章:2.交换指令交换指令XCHG(exchange)把两个地方的数据进行互换把两个地方的数据进行互换寄存器寄存器与与寄存器寄存器之间对换数据之间对换数据寄存器寄存器与与存储器存储器之间对换数据之间对换数据不能在不能在存储器与存储器之间对换数据存储器与存储器之间对换数据不能不能使用立即数使用立即数CSCS和和IPIP不能作为源或目的操作数不能作为源或目的操作数XCHG XCHG reg,reg/memreg,reg/mem;regreg reg/memreg/mem演示演示第第3章:例:数据交换章
15、:例:数据交换movmov ax,1199h ax,1199h;ax=1199hax=1199hxchgxchg ah,alah,al;ax=9911hax=9911hmovmov wvar,5566h wvar,5566h;wvarwvar是一个字量变量是一个字量变量xchgxchg ax,wvarax,wvar ;ax=5566hax=5566h,wvarwvar=9911h=9911h;等同于;等同于 xchgxchg wvar,axwvar,ax 例:例:XCHG AX,SI+0400H其其中中,CS=1000H,IP=0064H,DS=2000H,SI=3000H,AX=1234H物
16、理地址物理地址=DSX16+SI+0400H=DSX16+SI+0400H =20000H+3000H+0400H=23400H=20000H+3000H+0400H=23400H将将AXAX内容内容1234H1234H,与与23400H23400H、234001H234001H两两个单元的内容相互交换位置。个单元的内容相互交换位置。第第3章:章:3.换码指令换码指令XLAT(translate)作用:作用:通过代码完成代码转换通过代码完成代码转换将将BX指指定定的的缓缓冲冲区区中中、AL指指定定的的位位移移处处的的一一个个字字节节数数据据取出赋给取出赋给AL换码指令执行前:换码指令执行前:在
17、主存建立一个在主存建立一个字节量表格字节量表格,内含要转换成的目的代码,内含要转换成的目的代码表格首地址表格首地址存放于存放于BXBX,ALAL存放相对表格首地址的存放相对表格首地址的位移量位移量换码指令执行后:换码指令执行后:将将ALAL寄存器的内容转换为寄存器的内容转换为目标代码目标代码XLATXLAT;alds:bx+alalds:bx+al 演示演示第第3章:章:4.堆栈操作指令堆栈操作指令堆堆栈栈是是一一个个“后后进进先先出出FILOFILO”(或或说说“先先进进后后出出FILO”FILO”)的的主主存存区区域域,位位于于堆堆栈栈段段中中;SSSS段段寄寄存存器器记录其段地址记录其段
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统
限制150内