欢迎来到天天文库
浏览记录
ID:40245844
大小:1.07 MB
页数:135页
时间:2019-07-28
《微型计算机原理与汇编语言程序设计 第4章 指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章8086指令系统本章主要教学内容1、8086指令的基本格式2、8086指令系统的寻址方式3、8086指令的应用本章教学目的使学生掌握指令的寻址方式过程,掌握指令的应用。教学重点:指令系统的寻址方式和指令的应用教学难点:指令的寻址方式第4章8086指令系统4.1指令的基本概念和基本格式4.2指令的寻址方式4.38086指令系统4.4中断调用类指令开始4.1指令的基本概念和指令格式机器指令:指挥计算机完成某种操作的命令。从计算机组成的层次结构来说,计算机指令有机器指令、伪指令和宏指令之分。指令格式如下:操作符OPD,OPSOPD:目的
2、操作数OPS:源操作数4.2指令寻址方式4.2.1寻址方式的基本概念4.2.2与数据有关的寻址方式4.2.3I/O端口寻址方式返回本章首页4.2.1寻址、寻址方式的概念指令中操作数字段实质上是指出操作数存放于何处。一般来说,操作数可以跟随在指令操作码之后,称为立即数;操作数也可以存放在CPU内部的寄存器中,称为寄存器操作数。绝大多数的操作数存放在内存储器中,称为存储器操作数。指令指定操作数的位置,即给出地址信息,在执行时需要根据这个地址信息找到需要的操作数。这种寻找操作数的过程称为寻址,而寻找操作数的方法称为寻址方式。4.2.2与数据有
3、关的寻址方式1.立即寻址立即寻址方式中,指令操作码和操作数都在存储器代码段中。汇编格式:n(n为立即操作数,是用8位或16位二进制补码表示的有符号数)功能:操作数存放在存储器,指令下一单元的内容为立即操作数n。图形表示如右:【例4.1】【例2.5】MOVAX,10执行后(AX)=?该例中源操作数为立即寻址方式,立即数为10,存放在指令的下一单元。图形表示:执行:10→AX执行后:(AX)=000AH返回本节2.寄存器寻址寄存器寻址方式的操作数在指令指明的寄存器中。汇编格式:R其中R表示寄存器名。功能:操作数直接存放在寄存器R中。图形表示
4、:R指令→操作数【例4.2】下列程序执行后,(AX)=?,(BX)=?MOVAX,1234HMOVBX,5678HADDAX,BX该程序中MOV指令为数据传送指令操作符,ADD指令为加法指令操作符,三条指令皆为双操作数指令。第一、二条指令AX、BX皆为目的操作数地址,为寄存器寻址方式。第三条指令中,AX为目的操作数地址,BX为源操作数地址。源地址和目的地址皆为寄存器寻址方式。图形表示:执行:1234H→AX5678H→BX(AX)+(BX)→AX执行后:(AX)=68ACH,(BX)=5678H返回本节3.存储器寻址如果操作码所需操作数
5、存放在内存储器中,则指令中需要给出操作数的地址信息。为了提高程序的灵活性,8086指令系统提供了多种存储器寻址方式(1)直接寻址(2)寄存器间接寻址(3)寄存器相对寻址(4)基址变址寻址(5)关于段跨跃前缀(1)直接寻址汇编格式:①含有变量的地址表达式。②段寄存器名:[EA]。功能:指令下一字单元的内容是操作数的偏移地址EA。图形表示:【例4.3】【例4.3】寄存器和存储器内容为:(AX)=1212H,BUF为数据段定义的变量,其偏移地址是2000H,(DS)=3000H,(32000H)=4545H。执行指令:MOVAX,BUF执行后
6、:(AX)=?图形表示:执行:(32000H)→AX执行后:(AX)=4545H返回本节(2)寄存器间接寻址寄存器间接寻址方式中,寄存器的内容为操作数的偏移地址EA,操作数在存储器中。汇编格式:[R]功能:操作数存放在存储器,寄存器R存放操作数的偏移地址EA。寄存器间接寻址示意图:例如:MOVAX,[BX]若(DS)=2000H,(BX)=1000H,物理地址=20000H+1000H=21000H。指令执行前,(AX)=2030H,(21000H)=0A0H,(21001H)=50H,指令执行后,(AX)=50A0H,(21000H)
7、=0A0H,(21001H)=50H。指令执行情况如下:偏移地址EA计算方法如下:EA=[SI]SI作间址寄存器。[DI]DI作间址寄存器。[BX]BX作间址寄存器。[BP]BP作间址寄存器。执行指令:MOVAX,[BP]执行后:(AX)=?,(BP)=?,(SS)=?,(20030H)=?图形表示如下:【例4.4】寄存器和存储器内容分别为:(AX)=0,(BP)=0030H,(SS)=2000H,(20030H)=1234H返回本节(3)寄存器相对寻址寄存器相对寻址方式是在指令中给定一个基址寄存器(或变址寄存器)名和一个8位或16位的
8、相对偏移量,两者之和作为操作数的有效地址。对BX、SI、DI这三个间址寄存器,指示的是数据段中的数据,而用BP作间址寄存器,则指示的是堆栈段中的数据。汇编格式:X[R](X表示位移量,是8位或16位二进制补
此文档下载收益归作者所有