工学第讲指令系统课件.pptx
《工学第讲指令系统课件.pptx》由会员分享,可在线阅读,更多相关《工学第讲指令系统课件.pptx(120页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、指令概述一、指令概述1.1 基本概念指令:计算机能够识别和执行的各种操作命令。指令系统:是一台计算机或一种微处理器能执行的各种不同类型操作命令的集合。8086/8088CPU指令系统共有119/117条基本指令。指令的组成:操作码操作数操作码说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分。每种指令的操作码:每种指令的操作码:使用唯一的一组二进制编码表示;使用唯一的一组二进制编码表示;如:如:10110000B10110000B对应一个唯一的助记符对应一个唯一的助记符(指令功能的英文缩写指令功能的英文缩写););如:如:MOVMOV第1页/共120页操
2、作数是指令执行的参与者,即各种操作对象。有些指令不需要操作数;一般指令通常有一个或两个操作数,也有个别指令有3个甚至4个操作数。可以是一个具体数值,如:MOV AL,06H可以是存放数据的寄存器名,如:MOV AL,06H可以是存放数据的存储器地址,如:MOV 2000H,AL下一条执行指令的地址信息,如:CALL SUB_SER一、指令概述一、指令概述指令书写形式:助记符格式、机器代码格式。1.2 助记符格式标号:操作码助记符 操作数助记符;注释 助记符格式:也叫符号指令格式可有可无第2页/共120页一、指令概述一、指令概述标号:代表该条指令存放的地址。为程序分支、循环、跳转提供转移目标地址
3、。标号后加写冒号“:”作为间隔符。操作数助记符:给出了参与运算的操作数个数和位置,可以有若干个。有两个操作数时通常称第一个为目的操作数,第二个为源操作数。操作码助记符:说明指令要完成的操作与性质。注释:以分号“;”开始,对指令加以说明以方便阅读程序例如:MOV传送指令的格式:LOOP:MOV dest,src ;destsrc 其功能为:在标号LOOP处完成数据传送,将源操作数src送到目的操作数dest,即src不变,dest更改为src.并对此语句进行注释说明。第3页/共120页一、指令概述一、指令概述1.3 机器指令格式 MOV AL,05;机器代码是:B0H 05H;第一个字节B0H是
4、操作码(含一个操作数AL)第二个字节05H是立即数;MOV AX,0102H;机器代码是:B8H 02H 01H;第一个字节B8H是操作码(含一个操作数AX),第二、三个字节02H 01H 是16位立即数(低字节02在低地址)。B0H05HB8H02H01H低高第4页/共120页第三讲第三讲 指令系统指令系统内容提要:内容提要:一、指令概述二、寻址方式三、指令系统第5页/共120页二、寻址方式二、寻址方式根据操作数所存放的位置不同,可将各种寻址方式分为如下四类:立即寻址方式寄存器寻址方式 存储器寻址方式I/O端口寻址方式 指令系统设计了多种操作数的来源;寻找操作数的过程就是操作数的寻址方式;操
5、作数采取哪种寻址方式,会影响机器运行速度和效率。第6页/共120页二、寻址方式二、寻址方式2.1 立即寻址方式 指令操作码和操作数都在存储器代码段中,操作数紧跟在操作码之后;这种操作数被称为立即数imm。可以是8位数值(00HFFH)或16位数值(0000HFFFFH),也可为32位数值。立即数寻址方式常用来给寄存器赋值;例:MOV AX,10 ;执行后 AX=?该例中源操作数为立即寻址方式,立即数为10,存放在指令的下一单元。指令码0A00执行:10AX执行后:AX=000AH 例例:MOV MOV AXAX,1234H 1234H;十十六进制数六进制数1234H1234H送入送入AXAX。
6、代码段例:MOV EBX,20031231H ;20031231H送入EBX低地址高地址第7页/共120页二、寻址方式二、寻址方式2.2 寄存器寻址方式 操作数存放在指令规定的寄存器中,可以是:操作数存放在指令规定的寄存器中,可以是:1616位寄存器:位寄存器:AXAX,BXBX,CXCX,DXDX,SISI,DIDI,SPSP或或BPBP;8 8位寄存器:位寄存器:AHAH,ALAL,BHBH,BLBL,CHCH,CLCL,DHDH或或DLDL;段段寄存器:寄存器:CSCS,DSDS,ESES,SSSS;3232位寄存器:位寄存器:EAXEAX、EBXEBX、ECXECX、EDXEDX等。等
7、。例:MOV AX,BX;将寄存器BX的内容送入AX中。例:下列程序执行后,AX=?,BX=?MOV AX,1234H MOV BX,5678H ADD AX,BX执行:1234HAX 5678HBX AX+BXAX执行后:AX=68ACH BX=5678H例:ADD EAX,ECX;EAX和ECX中的内容相加,和送EAX中,;ECX不变第8页/共120页二、寻址方式二、寻址方式2.3 存储器寻址方式 操作数存放在操作数存放在存储器某个逻辑段的存储单元存储器某个逻辑段的存储单元中,根据中,根据存存储单元物理地址的产生方式储单元物理地址的产生方式可分为如下五种:可分为如下五种:直接寻址;直接寻址
8、;寄存器间接寻址;寄存器间接寻址;寄存器相对寻址寄存器相对寻址;基址变址寻址;基址变址寻址;基址变址相对寻址;基址变址相对寻址;指令中给出操作数主存地址信息(偏移地址,称之为有效地址EA);段地址在默认的段寄存器或用段超越前缀指定的段寄存器中。第9页/共120页二、寻址方式二、寻址方式2.3 存储器寻址方式 直接寻址直接寻址有效地址在指令中直接给出,存放在代码段指令操作码后面的操作数字段。段地址在默认的DS段寄存器或用段超越前缀指定的段寄存器中。OP地址低8位地址高8位操作码物理地址:DS*16+EAEA有效地址例:设AX=1212H,BUF为数据段定义的变量且 BUF=2000H(表示地址)
9、,DS=3000H,(32000H)=4546H。执行指令:MOV AX,BUF ;执行后AX=?DS*16+BUF=3000H*16+2000H=32000H(32000H)=46H(32001H)=45H执行:(32000H)AX执行后:AX=4546H第10页/共120页二、寻址方式二、寻址方式2.3 存储器寻址方式 直接寻址直接寻址例:设ES=4000H,执行指令:MOV AL,ES:2000H;执行后AL=?ES*16+2000H=4000H*16+2000H=42000H(42000H)的内容送AL执行后:AL=56H第11页/共120页二、寻址方式二、寻址方式2.3 存储器寻址方
10、式 寄存器寄存器间间接接寻址寻址操作数的有效地址EA在基址寄存器BX、BP或变址寄存器SI、DI中(EA=SI、DI、BX、BP),而操作数在存储器中;默认段基址在DS(或SS)段寄存器,可用段超越前缀改变;间址寄存器或地址指针DS:BXDS:SIDS:DISS:BP=DS*16+BX=DS*16+SI=DS*16+DI=SS*16+BP物理地址逻辑地址第12页/共120页二、寻址方式二、寻址方式2.3 存储器寻址方式 寄存器寄存器间间接接寻址寻址例:设DS=4000H,BX=100H,执行指令:MOV AX,BX;AX=?DS*16+BX=4000H*16+0100H=40100H(4010
11、0H)内容送AL(40101H)内容送AH执行后AX=3425H例:MOV BX,1000H;偏移量1000H送入BX MOV EAX,BX;DS段偏移量为1000H、1001H、;1002H和1003H单元的内容送EAX第13页/共120页二、寻址方式二、寻址方式2.3 存储器寻址方式 寄存器寄存器间间接接寻址寻址执行指令:MOV AX,BP 执行后:AX=?,BP=?,SS=?,(20030H)对应字节单元=?例:设AX=0,BP=0030H,SS=2000H,(20030H)=1234HSS*16+BP=2000H*16+0030H=20030H(20030H)内容送AL(20031H)
12、内容送AH执行后AX=1234H BP=0030H SS=2000H (20030H)=34H第14页/共120页二、寻址方式二、寻址方式2.3 存储器寻址方式 寄存器寄存器相对相对寻址寻址操作数有效地址是寄存器(BX、BP、SI、DI)内容与有符号8位或16位位移量之和,而操作数在存储器中;有效地址BX/BP/SI/DI8/16位位移量默认段基址在DS(或SS)段寄存器,可使用段超越前缀改变;物理地址=DS*16+BX+8/16位位移量=DS*16+SI+8/16位位移量=DS*16+DI+8/16位位移量=SS*16+BP+8/16位位移量DS:BX+8/16位位移量DS:SI+8/16位
13、位移量DS:DI+8/16位位移量SS:BP+8/16位位移量逻辑地址第15页/共120页二、寻址方式二、寻址方式2.3 存储器寻址方式 寄存器寄存器相对相对寻址寻址例:设DS=6000H,BX=2000H,执行指令:MOV AL,BX+5;执行后AL=?DS*16+BX+5=6000H*16+2000H+05H=62005H(62005H)内容送AL AH的内容不变执行后AL=9AH例:MOV EAX,5EBP;将SS*10H+EBP+5开始连 ;续四个单元内容送EAX寄存器相对寻址常用于一维数据结构或表格中某存储单元的寻址。第16页/共120页二、寻址方式二、寻址方式2.3 存储器寻址方式
14、 基址变址基址变址寻址寻址=DS*16+BX+SI=DS*16+BX+DI=SS*16+BP+SI=SS*16+BP+DI有效地址由基址寄存器(BX或BP)内容加上变址寄存器(SI或DI)的内容构成,而操作数在存储器中;有效地址BX/BP+SI/DI 默认段基址是DS,BP时默认段基址是SS,可使用段超越前缀改变;DS:BX+SIDS:BX+DISS:BP+SISS:BP+DI逻辑地址基址值变址值段首址操作数指令EAPA左移4位BRIR物理地址第17页/共120页二、寻址方式二、寻址方式2.3 存储器寻址方式 基址变址基址变址寻址寻址例:设DS=5000H,BX=2000H,SI=0006H;
15、执行指令:MOV AX,BX+SI;DS*16+BX+SI=5000H*16+2000H+0006H=52006H(52006H)内容送AL(52007H)内容送AH执行后AX=AB78H例:MOV EAX,EBPEDI;将SS*10H+EBP+EDI开始 ;连续四个单元内容送EAX寄存器第18页/共120页二、寻址方式二、寻址方式2.3 存储器寻址方式 基址变址基址变址相对相对寻址寻址=DS*16+BX+SI+8/16位位移量=DS*16+BX+DI+8/16位位移量 =SS*16+BP+SI+8/16位位移量 =SS*16+BP+DI+8/16位位移量 操作数有效地址是基址寄存器(BX/B
16、P)、变址寄存器(SI/DI)与一个8位或16位位移量之和,而操作数在存储器中;有效地址BX/BP+SI/DI+8/16位位移量 默认段基址是DS,BP时默认段基址是SS,可使用段超越前缀改变;DS:BX+SI+8/16位位移量DS:BX+DI+8/16位位移量SS:BP+SI+8/16位位移量SS:BP+DI+8/16位位移量逻辑地址物理地址第19页/共120页二、寻址方式二、寻址方式2.3 存储器寻址方式 基址变址基址变址相对相对寻址寻址例:设DS=4000H,BX=0200H,DI=0010H。执行指令;MOV AH,BX+DI+1234HDS*16+BX+DI+1234H=4000H*
17、16+0200H+0010H+1234H=41444H(41444H)内容送AH执行后AH=50H例:MOV EDX,EBP+0FFFF000HEDI ;将SS*10H+EBP+FFFF000H+EDI开始连续四个单 ;元内容送EDX,或MOV EDX,EBP+EDI+0FFFF000H基址变址相对寻址常用于二维数组中某存储单元的寻址。第20页/共120页二、寻址方式二、寻址方式在寄存器相对或相对基址变址寻址方式中,在寄存器相对或相对基址变址寻址方式中,位移量可位移量可用符号用符号表示:表示:例:例:MOV AX,SI+COUNTMOV AX,SI+COUNT ;COUNTCOUNT是事先定义
18、的变量或常量(数值)是事先定义的变量或常量(数值)例:例:MOV AX,BX+SI+WNUM MOV AX,BX+SI+WNUM;WNUMWNUM也是变量或常量也是变量或常量 与数据有关的寻址方式共有七种;同一寻址方式可以写成不同的形式:例:MOV AX,BXSI;等同 MOV AX,BX+SI例:MOV AX,COUNTSI;等同 MOV AX,SI+COUNT例:MOV AX,WNUMBXSI;等同 MOV AX,WNUMBX+SI ;等同 MOV AX,BX+SI+WNUM第21页/共120页二、寻址方式二、寻址方式2.4 I/O端口寻址方式 直接直接寻址寻址在输入输出指令中直接写上8位
19、I/O端口地址号。例:IN AL,50H;50H端口的字节读入AL例:OUT 80H,AX ;AX中的内容输出到80H、81H两个端口例:IN EAX,60H ;60H、61H、62H和63H端口的4个字节 ;由低到高依次输入到EAX中。第22页/共120页二、寻址方式二、寻址方式2.4 I/O端口寻址方式16位I/O端口地址号存入DX,在输入输出指令中写DX,表示从其指示的I/O端口中输入输出数据。例:MOV DX,FF02H OUT DX,AL ;AL中的字节输出到DX所指端口中例:MOV DX,0050H IN AX,DX;从DX和DX+1所指的2个端口输入1个字例:MOV DX,FFO
20、6H OUT DX,EAX;EAX的双字由低到高依次输出到DX、;DX+1、DX+2和DX+3所指的4个端口中寄存器间接寻址第23页/共120页立即数寻址的功能立即数寻址的功能第24页/共120页立即数寻址的执行立即数寻址的执行第25页/共120页寄存器寻址的功能寄存器寻址的功能第26页/共120页寄存器寻址的执行寄存器寻址的执行第27页/共120页直接寻址的功能直接寻址的功能第28页/共120页直接寻址的执行直接寻址的执行第29页/共120页寄存器间接寻址的功能寄存器间接寻址的功能第30页/共120页寄存器间接寻址的执行寄存器间接寻址的执行第31页/共120页寄存器相对寻址的功寄存器相对寻址
21、的功能能第32页/共120页寄存器相对寻址的执行寄存器相对寻址的执行第33页/共120页基址变址寻址的功能基址变址寻址的功能第34页/共120页基址变址寻址的执行基址变址寻址的执行第35页/共120页相对基址变址寻址的功能相对基址变址寻址的功能第36页/共120页相对基址变址寻址的执行相对基址变址寻址的执行第37页/共120页INAL,21H第38页/共120页OUT43H,AL第39页/共120页第三讲第三讲 指令系统指令系统内容提要:内容提要:一、指令概述二、寻址方式三、指令系统数据传送类指令算术运算指令逻辑运算指令串操作指令控制转移指令处理器控制指令 第40页/共120页三、指令系统三、
22、指令系统3.1 数据传送指令传送指令:将数据从一个位置传送到另一个位置;按功能可分为五种(掌握):通用数据传送指令:通用数据传送指令:MOVMOV交换指令:交换指令:XCHGXCHG、XLATXLAT 地址传送指令:地址传送指令:LEALEA、LDSLDS堆栈操作指令堆栈操作指令:PUSHPUSH、POPPOP 输入输入/输出指令:输出指令:ININ、OUTOUT除标志寄存器传送指令外,均不影响标志位。1)通用数据传送指令:MOV指令格式:MOV OP1,OP2 ;字节、字、双字间传送功能:将源操作数OP2内容传送(复制)到目标操作数OP1中。常用于对寄存器、存储器赋值,数据暂存等。第41页/
23、共120页三、指令系统三、指令系统3.1 数据传送指令具体指令格式有:MOV reg/sreg,regMOV reg,sregMOV reg/sreg,memMOV mem,reg/sregMOV reg,immMOV mem,imm 其中(以后同):reg:寄存器;mem:存储器;seg:段寄存器;imm:立即数。例3.1:立即数传送mov al,4mov al,4;al4al4,字节传送,字节传送mov cx,0ffhmov cx,0ffh;cx00ffhcx00ffh,字传送,字传送mov si,200hmov si,200h;si0200hsi0200h,字传送,字传送mov eax,
24、001000ffh mov eax,001000ffh ;eax001000ffheax001000ffh,双字传送,双字传送第42页/共120页三、指令系统三、指令系统3.1 数据传送指令例3.2:寄存器传送mov ax,bx mov ax,bx ;axbxaxbx,字传送,字传送mov ah,al mov ah,al ;ahalahal,字节传送,字节传送mov ds,ax mov ds,ax ;dsaxdsax,字传送,字传送mov si,al mov si,al ;sialsial,字节传送,字节传送例3.3:存储器传送mov al,bx ;alds:bxmov dx,bp ;dxss
25、:bpmov es,si ;esds:si例3.4:段寄存器传送mov si,dsmov ax,es ;axesmov ds,ax ;dsaxes第43页/共120页三、指令系统三、指令系统3.1 数据传送指令nMOVMOV传送的原传送的原则则通用寄存器AX BX CX DXBP SP SI DI立即数存储器段寄存器DS ES SS目的操作数不能是CS、IP、立即数:如:MOV CS,SI;不允许使用。源操作数和目的操作数的类型必须一致:同为字节、字、双字。第44页/共120页三、指令系统三、指令系统3.1 数据传送指令2)交换指令:XCHG、XLAT 交换指令格式:XCHG OP1,OP2;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 指令系统 课件
限制150内