欢迎来到天天文库
浏览记录
ID:50455292
大小:697.50 KB
页数:131页
时间:2020-03-09
《微机原理与汇编语言程序设计 教学课件 作者 刘永华 等 第3章 微机指令系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章微机指令系统学习目标本章主要讲解了8086/8088的寻址方式和指令系统。通过本章学习,读者应该掌握以下内容:8086/8088的七种寻址方式;8086/8088的指令系统。1第3章微机指令系统教学内容3.1寻址方式3.2指令系统习题与思考题三23.1寻址方式指令执行时首先要找到操作数,寻找操作数地址的过程称为寻址;寻找操作数存放地址的各种方式称为寻址方式。本节主要介绍8086/8088所采用的七种基本寻址方式。3.1.1操作数类型3.1.2寻址方式返回目录33.1.1操作数类型8086/8088系统中的操作数,从其使用的角度可
2、以分为:目的操作数(OPD)和源操作数(OPS)。目的操作数为指令提供操作数据及操作结果的存放位置,它的值是随执行结果而变化的;源操作数只为指令提供操作数据,其值在指令执行过程中是不变的。例如:ADDAX,BX其中AX是目的操作数,BX是源操作数,执行前,AX存放被加数,BX存放加数,执行后,AX和BX相加的结果存放在AX中。从书写形式来看,8088/8086系统中的操作数可以分为三种类型:立即数操作数、寄存器操作数和存储器操作数。其中:1.立即数操作数立即数是作为指令代码的一部分出现在指令中。它通常作为源操作数使用。其书写形式可以为
3、二进制、八进制、十进制和十六进制数,也可以是一个可求出确定值的表达式。返回目录43.1.1操作数类型2.寄存器操作数寄存器操作数是把操作数存放在寄存器中,用来参加运算或存放结果。在双操作数指令中,它可以作为源操作数和目的操作数。其书写形式就是寄存器的名称。3.存储器操作数存储器操作数将存储器某地址的内容作为指令的操作数,即把操作数放在存储器中。在双操作数指令中,它可以作为源操作数和目的操作数。存储器操作数存放的地址本来应该是物理地址,但为了书写方便,一般采用偏移地址EA(或称有效地址)来代替物理地址,段地址以隐含方式给出。其书写形式是
4、,假如偏移地址是X,该地址中的内容为Y,则表示为:(X)=Y,即用括号将偏移地址括起来表示该地址的内容返回目录53.1.2寻址方式1.寄存器寻址寄存器寻址方式中,指令所需要的操作数存放在指令指明的寄存器中。对16位操作数,寄存器可以是AX,BX,CX,DX,SI,DI,SP,CS,DS,ES,SS和BP;对8位操作数,寄存器可以是AL,AH,BL,BH,CL,CH,DL和DH。这种寻址方式速度较快。对于那些需要经常存取的操作数,采用寄存器寻址方式较为合适。若用R代表寄存器名,则该寻址方式如图3-1所示:返回目录指令R操作数图3-1寄存
5、器寻址说明:寄存器R的内容是操作数。63.1.2寻址方式例3.1:INCAX执行前:AX=45H,其中,INC为加1指令的操作符,其操作数地址为寄存器AX,即操作数在AX之中。即:图3-2INCAX执行后:AX=46H返回目录指令45H73.1.2寻址方式例3.2:MOVAX,BX执行前:AX=1234H,BX=5620H这是一条双操作数指令,其中MOV为传送指令,AX为目的操作数地址,BX为源操作数地址。即图3-3MOVAX,BX执行后;AX=5620H,BX未变。返回目录指令AX1234HBX5620H83.1.2寻址方式2.寄存
6、器间接寻址寄存器间接寻址方式中,操作数的偏移地址EA在指令指明的寄存器中,即寄存器的内容为操作数的偏移地址EA,而操作数存放在存储器中。能够用来间接寻址的寄存器只能是寄存器SI、DI、BP、BX其中之一。若指令中指定的寄存器是BX、DI或SI,则操作数在当前数据段中,所以操作数的物理地址PA的形成是由数据段寄存器DS的内容左移四位,加上BX、DI或SI中的偏移地址EA。若指令中指定的寄存器是BP,则操作数在当前堆栈段中,所以操作数的物理地址PA的形成是堆栈段寄存器SS的内容左移四位,加上BP中的偏移地址EA形成操作数的物理地址PA。即
7、:返回目录93.1.2寻址方式返回目录指令PA段寄存器段首址REA操作数左移4位图3-4寄存器间接寻址说明:R的内容为操作数的偏移地址EA。例3.3:MOVAX,[BX]执行前:AX=6,BX=100H,DS=1000H,(10100H)=60FEH这是一条双操作数指令。AX是目的操作数地址,其寻址方式寄存器寻址方式;[BX]指明了源操作采用寄存器间接寻址方式,[BX]的内容为源操作数的偏移地址EA。原操作数的物理地址PA=(DS)左移四位+BX=10100H103.1.2寻址方式源操作数的寻址过程如图3-5表示:返回目录指令100H
8、1000H60FEH图3-5MOVAX,[BX]10100HDSBX左移4位执行后:AX=60FEH,BX、DS、(10100H)的内容未变。例3.4:MOVAX,[BP]执行前:AX=0,BP=50H,SS=2000H
此文档下载收益归作者所有