(精品)IBM-PC汇编语言(③80x86指系统和寻址方式).ppt
《(精品)IBM-PC汇编语言(③80x86指系统和寻址方式).ppt》由会员分享,可在线阅读,更多相关《(精品)IBM-PC汇编语言(③80x86指系统和寻址方式).ppt(148页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言第第3章章80 x86指令系统和寻址方式指令系统和寻址方式教学要求:教学要求:1.1.掌握一般指令系统的基本概念:指令格式、掌握一般指令系统的基本概念:指令格式、功能和注意事项。功能和注意事项。2.2.重点掌握重点掌握8086/80888086/8088指令系统中,各指令的指令系统中,各指令的格式、寻址方式、指令类型格式、寻址方式、指令类型 。3.3.了解其他(奔腾等)的寻址方式和指令类型。了解其他(奔腾等)的寻址方式和指令类型。1 1 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻
2、址方式指令系统和寻址方式汇编语言汇编语言3.1指令系统的基本概念指令系统的基本概念计算机的指令系统就是指该计算机能够执行计算机的指令系统就是指该计算机能够执行的的全部指令的集合全部指令的集合。每种计算机都有它支持的指每种计算机都有它支持的指令集合。令集合。16 16位位80868086指令系统是整个指令系统是整个Intel 80 x86 Intel 80 x86 系列微系列微处理器指令系统的基础。处理器指令系统的基础。3.1.1 3.1.1 指令系统指令系统2 2 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言 操作码操作码 说明计算机要执行
3、哪种操作,如传送、运算、说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分。移位、跳转等操作,它是指令中不可缺少的组成部分。操作码操作码操作数操作数 操作数操作数指令由指令由操作码操作码和和操作数操作数两部分组成。两部分组成。操作数操作数 是指令执行的参与者,即各种操作的对象。是指令执行的参与者,即各种操作的对象。有些指令不需要操作数,通常的指令都有一个或两个有些指令不需要操作数,通常的指令都有一个或两个操作数,也有个别指令有操作数,也有个别指令有3 3个甚至个甚至4 4个操作数,通常称为一个操作数,通常称为一地址指令、二地址指令、三地址指令、二地址指令、三
4、3.1.2 3.1.2 指令格式指令格式3 3 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言指令的功能指令的功能该指令能够实现何种操作。通常指该指令能够实现何种操作。通常指令助记符就是指令功能的英文单词或其缩写形式。令助记符就是指令功能的英文单词或其缩写形式。指令支持的寻址方式指令支持的寻址方式该指令中的操作数可以采该指令中的操作数可以采用何种寻址方式。用何种寻址方式。指令对标志的影响指令对标志的影响该指令执行后是否对各个标该指令执行后是否对各个标志位(志位(OVOV、Z Z、C C、P P等)有影响,以及如何影响。等)有影响,以及如何影响
5、。3.1.3 3.1.3 学习指令的注意事项学习指令的注意事项4 4 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言3.280 x86寻址方式寻址方式 操作数可以跟随在指令操作码之后操作数可以跟随在指令操作码之后,称为,称为立即数立即数;操作操作数也可以存放在数也可以存放在CPUCPU内部的寄存器中内部的寄存器中,称为,称为寄存器操作数寄存器操作数。绝大多数的操作数存放在内存储器中绝大多数的操作数存放在内存储器中,称为,称为存储器操作数存储器操作数。指令指定操作数的位置,即给出地址信息,在执行时需要指令指定操作数的位置,即给出地址信息,在执行
6、时需要根据这个地址信息找到需要的操作数。根据这个地址信息找到需要的操作数。3.2.1 3.2.1 寻址、寻址方式的概念寻址、寻址方式的概念寻址就是寻址就是寻找操作数的地址。寻找操作数的地址。寻址方式就是寻址方式就是寻找操作数的方法。寻找操作数的方法。5 5 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言 指令助记符体现该指令的功能,它指令助记符体现该指令的功能,它对应一条二对应一条二进制编码的机器指令进制编码的机器指令。指令的操作数个数由该指令确定,指令的操作数个数由该指令确定,可以没有操可以没有操作数,也可以有一个、二个或三个操作数。作数,
7、也可以有一个、二个或三个操作数。3.2.2 803.2.2 80X86X86的指令格式的指令格式指令助记符指令助记符操作数操作数1,操作数操作数2,操作数操作数3;注释注释6 6 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言3.3.2.32.3 与数据有关的寻址方式与数据有关的寻址方式 以以 MOVMOV 指令为例:指令为例:立即寻址立即寻址 MOV AX,3069HMOV AX,3069H寄存器寻址寄存器寻址 MOV AL,BHMOV AL,BH直接寻址直接寻址 MOV AX,2000H MOV AX,2000H 寄存器间接寻址寄存器间接
8、寻址 MOV AX,BX MOV AX,BX 寄存器相对寻址寄存器相对寻址 MOV AX,COUNT SI MOV AX,COUNT SI 基址变址寻址基址变址寻址 MOV AX,BP DI MOV AX,BP DI 相对基址变址寻址相对基址变址寻址 MOV AX,MASK BX SI MOV AX,MASK BX SI 7 7 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言1 1)立即寻址方式立即寻址方式图形表示:图形表示:操作数操作数 n指令指令定义:定义:操作数作为指令的一部分而直接写在指令中,这种操作数作为指令的一部分而直接写在指令中
9、,这种操作数称为立即数,这种寻址方式也就称为操作数称为立即数,这种寻址方式也就称为立即数立即数寻址方寻址方式。式。汇编格式:汇编格式:n n(n n为立即操作数,是为立即操作数,是用用8 8位或位或1616位二进制补位二进制补码表示的有符号数码表示的有符号数)功能:功能:操作数存放在存储器,指令下一单元的内容为立即操作数存放在存储器,指令下一单元的内容为立即操作数操作数n n。8 8 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言【例【例3.13.1】MOV AXMOV AX,4576H 4576H 执行后(执行后(AXAX)=?CSMOVA
10、X,4576H指令的存储形式指令的存储形式AXOP76H45H7645 该例中源操作数为立即寻址方式,立即数为该例中源操作数为立即寻址方式,立即数为45764576H H,存放在指令的下一单元。存放在指令的下一单元。执行:执行:45764576HAXHAX执行后:(执行后:(AXAX)=4576H=4576H9 9 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言 2 2)寄存器寻址方式寄存器寻址方式定定义义:指指令令所所要要的的操操作作数数已已存存储储在在某某寄寄存存器器中中,或或把把目目标标操操作作数数存存入入寄寄存存器器。把把在在指指令令
11、中中指指出出所所使使用用寄寄存存器器(即即:寄寄存存器的助记符器的助记符)的寻址方式称为寄存器寻址方式。的寻址方式称为寄存器寻址方式。寄存器寄存器 R指令指令操作数操作数寄存器寄存器汇编格式:汇编格式:R R (其中其中R R表示寄存器名,如表示寄存器名,如AXAX、BXBX等。)等。)功能:功能:操作数直接存放在寄存器操作数直接存放在寄存器R R中。中。图形表示:图形表示:1010 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言指令中可以引用的寄存器及其符号名称如下:指令中可以引用的寄存器及其符号名称如下:8 8位位寄寄存存器器有有:AHA
12、H、ALAL、BHBH、BLBL、CHCH、CLCL、DHDH和和DLDL等;等;1616位位寄寄存存器器:AXAX、BXBX、CXCX、DXDX、SI SI、DIDI、SPSP、BPBP和和段段寄存器寄存器等;等;注注:由由于于指指令令所所需需的的操操作作数数已已存存储储在在寄寄存存器器中中,或或操操作作的的结结果果存存入入寄寄存存器器,这这样样,在在指指令令执执行行过过程程中中,会会减减少少读读/写写存存储储器器单单元元的的次次数数,所所以以,使使用用寄寄存存器器寻寻址址方方式式的的指指令令具具有有较较快快的的执执行行速速度度。通通常常情情况况下下,提提倡倡在在编编写写汇汇编编语语言言程程
13、序序时时,应应尽可能地使用寄存器寻址方式,但也不要把它绝对化。尽可能地使用寄存器寻址方式,但也不要把它绝对化。1111 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言【例【例3.23.2】下列程序执行后,(下列程序执行后,(AXAX)=?,(?,(BXBX)=?MOV AX MOV AX,1234H1234H MOV BX MOV BX,5678H5678H ADD AX ADD AX,BXBX执行:执行:1234HAX执行后:(执行后:(AX)=68ACH,(,(BX)=5678H5678HBX(AX)+(BX)AX1212 安徽理工大学安
14、徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言 3 3)直接寻址方式直接寻址方式定定义义:指指令令所所要要的的操操作作数数存存放放在在内内存存中中,在在指指令令中中直直接接给给出该操作数的有效地址出该操作数的有效地址,这种寻址方式为直接寻址方式。,这种寻址方式为直接寻址方式。EA指令指令操作数操作数存储器存储器段段基地址基地址汇编格式:汇编格式:含有变量的地址表达式含有变量的地址表达式。功能:功能:指令下一字单元的内容是操作数的偏移地址指令下一字单元的内容是操作数的偏移地址EAEA。图形表示:图形表示:1313 安徽理工大学安徽理工大学第第3章章80 x8
15、6指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言【例【例3.33.3】执行指令:执行指令:MOV BX MOV BX,1234H1234H 设(设(DSDS)=2000H=2000H。执行后:(执行后:(BXBX)=?=?BXDS:2000H1234H21234HOPCSDS13H52H20000H21234H34H12H执行:(执行:(21234H)BX执行后:(执行后:(BX)=5213H13521414 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言 在通常情况下,操作数存放在数据段中,所以,在通常情况下,操作数存放在数据段中,所
16、以,其其物理地址将由数据段寄存器物理地址将由数据段寄存器DSDS和指令中给出的有效地和指令中给出的有效地址直接形成址直接形成,但如果使用段超越前缀,那么,操作数,但如果使用段超越前缀,那么,操作数可存放在其它段。可存放在其它段。例如:例如:MOVMOVESES:1000H:1000H,AX AX 1515 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言注意:注意:立即寻址方式和直接寻址方式的书写格式不同立即寻址方式和直接寻址方式的书写格式不同,直,直接寻址的地址要写在括号接寻址的地址要写在括号“”,“”“”内。在程序中,内。在程序中,直接直接
17、地址通常用内存变量名来表示地址通常用内存变量名来表示,如:,如:MOV BX,VARWMOV BX,VARW,其其中,中,VARWVARW是内存字变量。是内存字变量。试比较下列指令中源操作数的寻址方式(试比较下列指令中源操作数的寻址方式(VARWVARW是内存是内存字变量):字变量):MOVAX,1234H MOVAX,1234H1234H 前者是立即寻址,后者是直接寻址前者是立即寻址,后者是直接寻址MOVAX,VARWMOVAX,VARWVARW两者是等效的,均为直接寻址两者是等效的,均为直接寻址作业作业1616 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址
18、方式汇编语言汇编语言4 4)寄存器间接寻址方式寄存器间接寻址方式定定 义义:操操作作数数在在存存储储器器中中,操操作作数数的的有有效效地地址址用用SI SI、DIDI、BXBX和和BPBP等等四四个个寄寄存存器器之之一一来来指指定定,称称这这种种寻寻址址方方式式为为寄寄存存器间接寻址方式。器间接寻址方式。EA寄存器寄存器操作数操作数存储器存储器段段基地址基地址基址或变址寄存器基址或变址寄存器指令指令汇编格式:汇编格式:RR功功 能:能:操作数存放在存储器,寄存器操作数存放在存储器,寄存器R R存放操作数的偏存放操作数的偏移地址移地址EAEA。图形表示:图形表示:1717 安徽理工大学安徽理工大
19、学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言【例例3.43.4】假假设设有有指指令令:MOV MOV BX,BX,DIDI,在在执执行行时时,(DSDS)=1000H=1000H,(DIDI)=2345H=2345H,存存储储单单元元1234512345H H的的内内容容是是43544354H H。问执行指令后,问执行指令后,BXBX的值是什么?的值是什么?BXDS:1000HDI:2345H12345H解:寄存器解:寄存器DIDI的值不是操作数,而是操作数的地址。该操作的值不是操作数,而是操作数的地址。该操作数的物理地址应由数的物理地址应由DSDS和和DIDI
20、的值形成,即:的值形成,即:PA=PA=PA=PA=(DSDSDSDS)*16+DI=1000H*16+2345H=12345H*16+DI=1000H*16+2345H=12345H*16+DI=1000H*16+2345H=12345H*16+DI=1000H*16+2345H=12345H。该指令的执行效果是:该指令的执行效果是:把从物理地址为把从物理地址为1234512345H H开始的开始的一个字的值传送给一个字的值传送给BXBX。4354OPCSDS54H43H10000H12345H1818 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语
21、言汇编语言 在不使用段超越前缀的情况下,有下列规定:在不使用段超越前缀的情况下,有下列规定:v若有效地址用若有效地址用SI SI、DIDI和和BXBX等之一来指定,则其缺省的等之一来指定,则其缺省的段寄存器为段寄存器为DSDS;v若有效地址用若有效地址用BPBP来指定,则其缺省的段寄存器为来指定,则其缺省的段寄存器为SSSS(即:堆栈段)。即:堆栈段)。该寻址方式物理地址的计算方法如下:该寻址方式物理地址的计算方法如下:BX BX 物理地址物理地址PA=16DS+PA=16DS+SI SI DI DI或或 物理地址物理地址PA=16SS+BPPA=16SS+BP1919 安徽理工大学安徽理工大
22、学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言作业作业教材教材P1073.13.23.41)2)3)2020 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言5.寄存器相对寻址方式寄存器相对寻址方式定定 义义:操操作作数数在在存存储储器器中中,其其有有效效地地址址是是一一个个基基址址寄寄存存器器(BX、BP)或或变变址址寄寄存存器器(SI、DI)的的内内容容和和指指令令中中的的8位位/16位偏移量之和。位偏移量之和。汇汇编编格格式式:XR(X表表示示位位移移量量,是是8位位或或16位位二二进进制制补补码码表表示示的
23、有符号数)的有符号数)功功 能能:操操作作数数存存放放在在存存储储器器,寄寄存存器器R的的内内容容加加位位移移量量X为操作数的偏移地址为操作数的偏移地址EA。图形表示如下:图形表示如下:地址地址寄存器寄存器操作数操作数存储器存储器段段基地址基地址基址或变址寄存器基址或变址寄存器 位移量位移量指令指令EA2121 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言10000H12345HDSCS10000H12345HOPCSDS15H27H10000H12445H2222 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和
24、寻址方式汇编语言汇编语言【例【例3.5】假设指令:假设指令:MOVBX,SI+100H,在执行它时,在执行它时,(DS)=1000H,(,(SI)=2345H,内存单元内存单元12445H的内容为的内容为2715H,问该指令执行后,问该指令执行后,BX的值是什么?的值是什么?解:解:EA=(SI)+100H=2345H+100H=2445HPA=(DS)*16+EA=1000H*16+2445H=12445H。所以,该指令的执行效果是:所以,该指令的执行效果是:把从物理地址为把从物理地址为12445H开始开始的一个字的值传送给的一个字的值传送给BX。OPCSDS15H27H10000H1244
25、5HSI:2345H100HEA:2445HDS:1000H12445H2715BX2323 安徽理工大学安徽理工大学第第3章章80 x86指令系统和寻址方式指令系统和寻址方式汇编语言汇编语言6.基址变址寻址方式基址变址寻址方式定定 义义:操操作作数数在在存存储储器器中中,其其有有效效地地址址是是一一个个基基址址寄寄存存器器(BX、BP)和一个变址寄存器和一个变址寄存器(SI、DI)的内容之和。的内容之和。汇编格式:汇编格式:BR+IR功功 能能:操操作作数数存存放放在在存存储储器器,BR的的内内容容加加IR的的内内容容是是操操作作数数的的偏偏移移地址地址EA。图形表示:图形表示:操作数操作数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 IBM PC 汇编语言 80 x86 系统 寻址 方式
限制150内