欢迎来到天天文库
浏览记录
ID:55729235
大小:1.61 MB
页数:95页
时间:2020-06-02
《微机原理与接口技术 教学课件 ppt 作者 第2版电子教案 3.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、寻址方式指令系统第3章指令系统一般汇编指令格式如下所示:其中方括号中的内容是可选的,因而汇编语言的指令主要由操作码和操作数组成。其中操作码指出指令的功能,操作数代表指令的处理对象。3.1寻址方式[标号:]指令助记符[操作数1[,操作数2[,操作数3]]][;注释]寻址方式:寻找指令操作数存放地址的方式称为寻址方式。3.1.1操作数类型8086/8088系统中的操作数分类:按其使用角度可分为:目的操作数源操作数为指令提供操作数据及操作结果的存放位置,它的值随执行结果而变化。只为指令提供操作数据,其值在指令过程中是不变的。举例说明例如:ADDAX,BX其中AX是目的操作数,BX是源操作数,执行前
2、,AX存放被加数,BX存放加数,执行后,AX和BX相加的结果存放在AX中。8086/8088系统中的操作数可以分为三种类型:立即数操作数、寄存器操作数和存储器操作数。将存储器某地址所指向单元的内容作为指令的操作数,即把操作数放在存储器中。在双操作数指令中,可作为源操作数和目的操作数。1.立即数操作数作为指令代码的一部分出现在指令中,通常作为源操作数使用。其书写形式可以为二进制、八进制、十进制和十六进制,也可以为一个可求出确定值的表达式。2.寄存器操作数把操作数存放在寄存器中,用来参加运算或存放结果。在双操作数指令中,它可以作为源操作数和目的操作数。书写形式为寄存器的名称。3.存储器操作数3.
3、1.2寻址方式8086/8088的寻址方式共有七种,分别是:1.立即数寻址2.直接寻址3.寄存器寻址4.寄存器间接寻址5.寄存器相对寻址6.基址变址寻址7.相对基址加变址寻址1.立即数寻址操作码n目的操作数源操作数例如,MOVCX,100该指令的功能是将立即数100送入CX寄存器。立即数寻址方式中,操作数直接放在指令中,即操作数的存放地址就是指令操作码的下一单元.如图所示:注:该操作数可以是8位或者16位二进制补码表示的常数。说明:指令的下一字单元的内容为操作数n,n也称为立即操作数。演示在直接寻址方式中,指令操作数字段中存放的是操作数的16位偏移地址EA。操作数的物理地址由其所在段的寄存器
4、内容左移4位与指令中给出的偏移地址EA相加形成。如下图所示:EA十操作码段首址段寄存器PA操作数十十左移4位2.直接寻址演示举例说明例如,MOVAX,DS:[100H]执行前:AX=1234H,DS=2000H,(20100H)=56H,(20101H)=78H。目的操作数为AX。源操作数采用直接寻址方式,其偏移地址为100H。说明:如果用数值表示EA,则必须用方括号括起来,而且在方括号前应给出段寄存器名;直接寻址的操作数可以是字或字节。例如,MOVAX,BUFF执行后:AX=7856H,DS、(20100H)字单元内容不变。3.寄存器寻址指令所需要的操作数存放在指令指明的寄存器中。对16位
5、操作数,寄存器可以是AX,BX,CX,DX,SI,DI,SP,CS,DS,ES,SS和BP;对8位操作数,寄存器可以是AH,AL,BH,BL,CH,CL,DH和DL。注:这种寻址方式速度较快。适合于经常存取的操作数。例如,MOVAX,BX,其寻址方式如图所示:执行前:AX=1234H,BX=5678H,执行后:AX=5678H,BX内容不变。AXBX演示4.寄存器间接寻址若指令中指定的寄存器为BP,则操作数在当前堆栈段中,所以操作数的物理地址PA的形成是堆栈段寄存器SS的内容左移4位加上BP中的偏移地址EA形成操作数的物理地址。能够用来间接寻址的寄存器只能是寄存器SI、DI、BP、BX其中之
6、一。若指令中指定的寄存器是BX、DI或SI,则操作数在当前数据段中,所以操作数的物理地址PA的形成是由数据段寄存器DS的内容左移4位,加上BX、DI或SI中的偏移地址EA。寻址方式如下图所示:说明:R的内容为操作数的偏移地址EA。操作码EA段首址PA操作数R左移4位演示举例说明例如,MOVAX,[SI]执行前:AX=0ABCDH,SI=1234H,DS=3000H,(31234H)=5678H。这是一条双操作数指令,AX是目的操作数地址,其寻址方式为寄存器寻址方式;[SI]指明了源操作数采用寄存间接寻址方式,SI的内容为源操作数的偏移地址EA。原操作数的物理地址为:PA=(DS)左移4位+S
7、I=31234H。执行后:AX=5678H,SI、DS、(31234H)的内容不变。寄存器相对寻址又称为直接变址寻址,操作数的偏移地址EA是一个基址或变址寄存器的内容和指令中给出的8位或16位位移量之和。寻址方式如下图所示:5.寄存器相对寻址位移量寄存器名段寄存器R段寄存器R左移4位rel操作码变址值EA段首址rel操作码变址值EA操作数段首址演示举例说明例如,MOVBX,DAT[DI]执行前:BX=1234
此文档下载收益归作者所有