2022年微机原理电子教案:指令格式及寻址方式 .pdf
《2022年微机原理电子教案:指令格式及寻址方式 .pdf》由会员分享,可在线阅读,更多相关《2022年微机原理电子教案:指令格式及寻址方式 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、十六位微机原理及接口技术第1页指令格式及寻址方式4-1-1 8086/8088 的通用指令格式机器语言指令是由二进制代码组成。一条指令是由操作码与操作数字段构成,其一般格式为:操作码字段 + 操作数字段。操作码字段指明计算机所要执行的操作(即功能);操作数字段指出在指令执行过程中所需要的操作数。比如指令指明作加法,则操作数就是加数,而且有两个。计算机的任何操作不容有模糊的地方。指令中的操作数同样如此,指令中不仅要指出有几个操作数,还要指明每个操作数到底在什么地方。例如: ADD AX, BX 其中 ADD 是操作码助记符,指明做加法运算:AX和 BX 是操作数助记符,指出被加数和加数,AX 还
2、存放相加后的结果(原来被加数被冲掉)。对有操作数的指令,在执行指令所规定的操作之前首先要寻找操作数。操作数可放在CPU寄存器中,或内存单元中,或I/O 端口内, 寻找这些操作数的方式称为寻址方式,即指令中用于说明操作数或操作数所在地址的方法。汇编语言是一种很接近于机器语言的低级计算机语言,在汇编语言中,助记符代替了操作码,而操作数部分也象机器语言一样需要指明具体位置,具有机器语言相应的寻址方式,当然表现形式不是二进制符号,而是数值、寄存器名、变量等。为了更好的理解和掌握寻址方式及其用法,先对后面例子中使用的一条汇编语言指令做简单说明。 MOV 指令是汇编语言最常用的指令之一,指令的基本格式是:
3、MOV d1,d2 该指令的功能是把操作数d2 的值(如果在内存或寄存器中则取出它的值)传送到操作数d1 指明的地方,相当于高级语言中的赋值语句功能。操作数d1 的寻址方式可以是内存型,也可以是寄存器型,但不能是立即数。汇编语言的指令根据所带有的操作数的数量分为无操作数指令、单操作数指令、双操作数指令三类。 MOV 等双操作数指令中绝大多数都是把写在前面的操作数d1 作为存放操作结果的目的地,所以称为目的操作数,而d2 称为源操作数。4-1-2 立即寻址(立即数)特点:操作数直接存放在指令中,作为指令的一部分存放在代码段里,这种操作数称为立即寻址。操作数可以是各种数制下的数。一般常用于给寄存器
4、或存储单元赋初值(即初始化),立即数只能用于源操作数字段,不能用于目的操作数字段。例 4-1 : MOV AX,5 ; ( AX ) 5 十进制形式的立即数 MOV AX,1234H ; (AX ) 1234H 十六进制形式的立即数MOV AL ,11001101B ; (AL) 11001101B 二进制形式的立即数MOV AL , 3; (AL) 33H 字符形式的立即数精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 7 页十六位微机原理及接口技术第2页立即数还有一些比较复杂的情况。如果操作数是由数值和运算符构成的表达式,汇编程序在
5、翻译时会计算出表达式的值,并把结果以立即数形式翻译到机器指令中。比如:MOV AL , 3-30H ;表达式计算结果是3,并以 3 作为立即寻址方式的操作数。 MOV 200H,AX ; (错误的,立即数不能作目的操作数)立即数可是二进制、十进制、十六进制。4-1-3 寄存器寻址特点:操作数在某寄存器中,存取这类操作数在CPU内部进行,所以执行速度快。存放 16 位操作数的寄存器有:AX ,BX , CX ,DX,BP ,SP ,SI,DI;存放 8 位操作数的寄存器有: AH,AL,BH ,CH ,CL,DH ,DL。CS、DS 、SS 、ES-16位的段寄存器例 4-2 :以知:(BX )
6、=1234H MOV AX,BX ; (AX )( BX )执行后( AX )=1234H, (BX )不变。下面指令中的操作数都是寄存器寻址方式MOV AL,BL MOV AL ,DH MOV BP ,SP MOV AX ,SI MOV AX,CS MOV DS ,DX 注意 :指令指针IP 和标志寄存器PSW 以及所有标志位的代号CF、ZF、OF等都不能作为寄存器寻址方式的操作数,不允许出现在汇编语言的任何指令中。另外,8088 汇编语言还规定,不允许用 MOV 等具有赋值功能的指令修改CS的值,在8088 汇编语言中MOV CS , AX 不符合语法规则。4-1-4 存储器操作数寻址内存
7、型寻址方式是指参与操作的数据在内存中,因此必须指明操作数究竟在内存的什么地方,即指出内存的逻辑地址。存储器是分段管理的,要找到操作数,必须指明操作数所在的段(段基址由段寄存器指明)及段内偏移地址(以有效地址EA的形成方式指出) 。1 直接寻址方式特点:指令中指接给出操作数在段内的偏移量,段基址隐含给出或用段前缀指明。该寻址方式适用于处理单个变量。一般操作数存放在数据段,故操作数的物理地址为:物理地址 =(DS ) 16 + EA =(段基址的寄存器) 16 + 偏移地址例 4-3 :以知:(DS )=4000H,1000H=3355H MOV AX,2000H 执行后:(AX ) =3355H
8、 物理地址 =40000H+1000H=41000H EA=1000H,寻址过程如图4-1 所示。存储器精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 7 页十六位微机原理及接口技术第3页 AX 41000H 图 4-1 例 4-3 直接寻址示意图说明:( 1)偏移地址( EA )在指令中直接给出。指令中缺省段寄存器说明,段基址在DS段寄存器中;否则在指令中需对段寄存器加以说明。例如: MOV AX ,ES :2300H ( 2)可用符号地址代替数值地址,例如:MOV AX ,VALUE ;此时, VALUE 为存放操作数单元的符号地址
9、,即变量名,也可写成:MOV AX ,VALUE;两者等价。2 寄存器间接寻址特点:操作数有效地址在基址寄存器BP 、DI 中,而操作数则在存储器中。它适用于表格处理,执行完一条指令后,只需修改寄存器内容就可取出表格中的下一项元素。(1)令中的有效地址(EA )存放在BX ,SI, DI 寄存器中,则操作数在数据段中,即操作数的物理地址为:(BX )物理地址 =16D( DS )+ (SI)(DI)(2)若有效地址存放在BP寄存器,则操作数在堆栈段中,即操作数物理地址为:物理地址 =(SS )16+(BP )(3)可使用段跨越前缀来取得其他段中的数据,如:MOV AX ,ES : BX 注意:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年微机原理电子教案:指令格式及寻址方式 2022 微机 原理 电子 教案 指令 格式 寻址 方式
限制150内