x86的寻址方式与基本指令.ppt
《x86的寻址方式与基本指令.ppt》由会员分享,可在线阅读,更多相关《x86的寻址方式与基本指令.ppt(54页珍藏版)》请在三一办公上搜索。
1、,2023/11/8,1,汇编语言程序设计,第4章 80 x86的寻址方式与基本指令,4.1 指令系统概述4.2 80 x86的寻址方式4.3 数据处理类指令4.4 控制转移类指令4.5 其他类指令,2023/11/8,2,汇编语言程序设计,4.1 指令系统概述,第4章 80 x86的寻址方式与基本指令,指令计算机执行的各种操作的命令的形式。指令系统计算机所能执行的全部指令。向上兼容每种计算机有自己固有的指令系统,如Intel 8086/8088和MC68000的指令系统各不相同。但是486微处理器可以执行8086/8088、286、386的指令系统,这就是向上兼容的缘故。程序指令的集合或指令
2、的序列。,1.几个概念,3,汇编语言程序设计,2023/11/8,4.1 指令系统概述,操作码 操作数,操作数80 x86的运算指令采用二地址指令,即:操作码(目的)操作数,(源)操作数操作码指出要执行的操作。操作数指出指令操作的对象。可能是操作数本身,也可能是操作数地址。源操作数指出操作数的来源。目的操作数指出指令的操作结果存放何处。在许多指令中,同时又指出另一操作数的来源。注意原来的数据丢失。,2.指令的一般格式,2023/11/8,4,汇编语言程序设计,例MOV AL,34H;操作数本身,立即数。ADD AL,DATA1;操作数地址MUL CL;单操作数指令的形式有:双操作数指令 单操作
3、数指令DEC CX 隐含操作数指令AAA,2023/11/8,5,汇编语言程序设计,(1)立即数操作数本身,存放在指令代码中。(2)寄存器操作数操作数存放在CPU内部寄存器中。(3)内存操作数操作数存放在内存中,一般在数据段、附加段、甚至堆栈段。给出的是操作数的地址。(4)端口操作数在I/O指令中,给出的端口地址。如 IN AL,34HOUT 43H,AL,3.操作数的种类,2023/11/8,6,汇编语言程序设计,2023/11/8,7,汇编语言程序设计,第4章 80 x86的寻址方式与基本指令,一、与数据有关的寻址方式二、与转移地址有关的寻址方式,4.2 80 x86的寻址方式,寻址方式如
4、何寻找(规定)操作数的方式。即指令中用于说明操作数所在地址的方法。,一、与数据有关的寻址方式,2023/11/8,8,汇编语言程序设计,一、与数据有关的寻址方式,操作数直接放在指令中,紧跟在操作码之后,与操作码一起存放在代码段中。可以是字节/字/双字。例MOV AL,5MOV AX,3087HMOV EAX,12345678H如下图所示:,1.立即寻址方式(Immediate addressing),2023/11/8,9,汇编语言程序设计,一、与数据有关的寻址方式,2023/11/8,10,汇编语言程序设计,立即寻址主要用途是给寄存器赋初值。用来表示常数。注意只能用于源操作数,不能用于目的操
5、作数。,2023/11/8,11,汇编语言程序设计,一、与数据有关的寻址方式,操作数在寄存器中,指令指定寄存器号。对于16位操作数,寄存器可以是AX、BX、CX、DX、SI、DI、SP、BP;对于8位操作数,寄存器可以是AH、AL、BH、BL、CH、CL、DH、DL。对于32位操作数,寄存器可以是EAX、EBX、ECX、EDX、ESI、EDI、ESP、EBP;例:MOV AX,BXMOV ECX,EDXMOV DL,AL,2.寄存器寻址方式(Register addressing),2023/11/8,12,汇编语言程序设计,寄存器寻址方式由于操作数在寄存器中,不需要访问存储器,所以速度最快,
6、也最常用。寄存器寻址方式寻找操作数的示意图如下:,MOV AX,BX,如:,2023/11/8,13,汇编语言程序设计,一、与数据有关的寻址方式,除上述两种寻址方式外,以下的寻址方式的操作数都在除代码段以外的存储区中,称为内存操作数。内存操作数的地址由段基地址和偏移地址相加而取得。在实模式和保护模式下,段基地址的取得方法不同。,内存操作数,内存操作数,2023/11/8,14,汇编语言程序设计,一、与数据有关的寻址方式,有效地址EA(Effective Address)在各种寻址方式中,操作数的偏移地址可由各种成分组成,称为有效地址,用EA表示。内存操作数的各种不同的寻址方式,仅是它们的EA的
7、组成不同。,有效地址,2023/11/8,15,汇编语言程序设计,一、与数据有关的寻址方式,有效地址EA由四种成分组成:(1)位移量8/16/32位地址偏移量(2)基址基址寄存器的内容。通常用来指示数组或字符串的首地址。(3)变址变址寄存器的内容。通常用来访问数组或字符串中的某个元素。(4)比例因子386以后机型有。值为1,2,4,8。乘以变址寄存器的内容得到变址值。,有效地址的计算公式:EA=基址+(变址比例因子)+位移量,有效地址的计算,2023/11/8,16,汇编语言程序设计,一、与数据有关的寻址方式,16/32位寻址时EA四种成分的组成,位移量基址寄存器变址寄存器比例因子,0,8,1
8、6位BX,BPSI,DI无,0,8,16,32位任何32位通用寄存器32位通用寄存器(除ESP)1,2,4,8,16位寻址,32位寻址,2023/11/8,17,汇编语言程序设计,一、与数据有关的寻址方式,在指令中大多隐含段地址。段地址有个基本的规定(约定,默认),也允许超越(可修改),见下表所示:,段约定和段超越,2023/11/8,18,汇编语言程序设计,一、与数据有关的寻址方式,段约定和段超越:存取方式约定段可修改段 偏移地址取指令CS 无IP堆栈操作SS 无SP源串DSCS,ES,SSSI目的串ES 无DIBP作基址SSCS,DS,ESEA通用数据读写DSCS,ES,SSEA,2023
9、/11/8,19,汇编语言程序设计,一、与数据有关的寻址方式,操作数在内存中,有效地址EA在指令的代码段中,它在操作码之后。例MOV AX,2000H如下图所示:,3.直接寻址方式(Direct addressing),2023/11/8,20,汇编语言程序设计,一、与数据有关的寻址方式 3.直接寻址方式,2023/11/8,21,汇编语言程序设计,一、与数据有关的寻址方式 3.直接寻址方式,注意几点:(1)MOV AX,2000H与 MOV AX,2000H的区别。(2)MOV AX,2000H与 MOV AL,2000H的区别。(3)MOV AX,2000H等同于 MOV AX,DS:20
10、00H。(4)若VALUE是符号地址,则MOV AX,VALUE同MOV AX,VALUE。,2023/11/8,22,汇编语言程序设计,一、与数据有关的寻址方式,操作数的有效地址在基址寄存器BP、BX和变址寄存器SI、DI中,而操作数在内存中。例MOV AX,BX如下图所示:,4.寄存器间接寻址方式(Register indirect addressing),2023/11/8,23,汇编语言程序设计,一、与数据有关的寻址方式4.寄存器间接寻址方式,2023/11/8,24,汇编语言程序设计,一、与数据有关的寻址方式4.寄存器间接寻址方式,必须注意:如果指令中指定的寄存器是BX、SI、DI之
11、一,则操作数在数据段中,用DS的内容作为段地址;如果指令中指定的寄存器是BP,则操作数在堆栈段中,用SS的内容作为段地址。另外,指令中也可以指定段超越来访问其它段中的数据。如:MOV AX,ES:BX。,2023/11/8,25,汇编语言程序设计,一、与数据有关的寻址方式,或称为(直接)变址寻址。操作数的有效地址是BP、BX、SI、DI之一的内容加上指令中指定的8位或16位位移量。例:MOV AX,COUNTBX如下图所示:,5.寄存器相对寻址方式(Register relative addressing),2023/11/8,26,汇编语言程序设计,一、与数据有关的寻址方式 5.寄存器相对寻
12、址方式,2023/11/8,27,汇编语言程序设计,一、与数据有关的寻址方式 5.寄存器相对寻址方式,同样注意:出现BP则是堆栈段中的数据。又例:MOV AL,100H+DIMOV AX,BUFBX,2023/11/8,28,汇编语言程序设计,一、与数据有关的寻址方式,操作数的有效地址是BP、BX之一和SI、DI之一的内容之和。两个寄存器均由指令指定。例:MOVAX,BXSIMOV AX,BX+DI示意图类似,不同的是组成EA的两个地址不尽相同。,6.基址变址寻址方式(Based indexed addressing),2023/11/8,29,汇编语言程序设计,一、与数据有关的寻址方式 6.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- x86 寻址 方式 基本 指令
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6523991.html