微机第三章第一讲_第1页
微机第三章第一讲_第2页
微机第三章第一讲_第3页
微机第三章第一讲_第4页
微机第三章第一讲_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章80X86寻址方式与指令系统程序语言简介

8086/8088的寻址方式

8086/8088指令格式

8086/8088的指令系统

(1)

指令、指令系统和程序(2)

机器码和机器语言(3)助记符和汇编语言(4)

高级语言第一节

程序语言简介指令、指令系统和程序

CPU是一个可以完成一些基本操作的电子器件。用编码表示CPU的一个基本操作,称为一条指令。全部指令集称为指令系统。

指令系统反映CPU的基本功能.

指令由两部分组成:操作码部分,操作数部分

一个CPU的指令系统是固定的,不同类型的CPU其指令系统不同,同一系列向上兼容。程序是为要解决的问题编写出来的指令集合。用户为解决自己的问题所编写的程序称为源程序。(2)机器码和机器语言用二进制数编码表示的指令,称为机器指令或机器码。用机器语言编写的程序称为目标程序。机器语言特点:CPU能直接识别的唯一语言面向机器,可直接被计算机执行执行速度快,占用内存空间小编程效率低、可读性差、可移值性差(3)助记符和汇编语言助记符是有助记忆、并能描述指令功能的符号。通常是指令功能的英文单词的缩写。例数的传送指令用助记符MOV

用助记符等表示的指令称为汇编格式指令例

MOVAL,0

汇编语言是汇编格式指令、伪指令及其使用的一组规则。是面向机器的语言用汇编语言编写的程序称汇编语言程序。例将地址为2000H和2001H的两内存单元内容相加,结果存在地址2002H单元中。用机器码编程:A0002002060120A20220用汇编语言编写的程序段为:MOVAL,[2000]ADDAL,[2001]MOV[2002],AL

汇编格式指令与机器指令一一对应用汇编语言编好的程序,必须翻译成机器码表示的程序,计算机才能运行。

汇编程序是将汇编语言程序翻译成机器语言的一种系统程序。

汇编语言和机器语言编写的程序:面向机器,反映机器运行的实际过程,与计算机的硬件结构和指令系统密切相关占内存少,执行速度快编写繁琐、调试困难汇编语言相对于机器语言编写的程序:汇编语言程序,易读易懂,便于修改。(4)高级语言高级语言是独立于机器、面向过程或对象的语言。算法是按照人的思维方式给出,比较接近人的自然语言。上例高级语言程序段为:var3=var1+var2

由编译程序将高级语言源程序翻译目标程序,

(不同类型机器由于指令系统不同,它们的编译程序不同)Fortran、Basic、C等均是高级语言。使用高级语言编程,效率高、可读性、可移植性强。本课程学习汇编语言的意义:汇编语言程序反应机器运行的实际过程,通过编制汇编语言程序,加深对计算机工作过程的理解。本课程涉及到接口电路的设计及应用,在直接控制硬件的场合,汇编语言比高级语言更具优势,也可以更好的理解接口工作过程。由指令字节给出的信息求出操作数的地址称为有效地址——EA寻找(得到)操作数有效地址的方法称为操作数的寻址方法寻找(得到)操作数有效地址和存取操作数的过程称为指令的寻址操作

一、操作数寻址方式二、程序转移地址的寻址方式三、小结

第二节

8086/8088的寻址方式

一、操作数寻址方式共七种寻址方式:1.立即数寻址

2.寄存器寻址3.直接寻址4.寄存器间接寻址5.寄存器相对寻址6.基址加变址寄存器寻址7.相对基址加变址寄存器寻址

与内存单元寻址无关与内存单元有关的寻址(存储器操作数)立即数寻址

操作数直接存放在指令中,紧跟在操作码之后,作为指令的一部分,存放在代码段里,这种操作数称为立即数。立即数可以是8位或16位

(16位的立即数是高位字节放在高地址,低位字节放在低地址)。应用场合:立即数常用来给寄存器或内存单元赋初值。例1MOVAX,2056H结果(AH)=20H(AL)=56H例2MOVAL,78H

结果(AL)=78H注意:只能用于源操作数字段,不能用于目的操作数字段。低地址高地址2.寄存器寻址方式

操作数在寄存器中,指令中指定寄存器名

8位操作数,用8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL16位操作数,用16位寄存器:AX、BX、CX、DX、SP、BP、SI、DICS、DS、SS、ES

这种寻址方式因为操作数在寄存器中 不需要访问存储器因此运算速度较高。例1MOVAX,2056H执行后:(AX)=2056H例2MOVBL,AH执行前:(BL)=12H,(AH)=78H执行后:(BL)=78H,(AH)=78H例编程将CL寄存器的内容传送到21000H单元中。MOVAX,2000HMOVDS,AX;(DS)=2000HMOVDI,1000H;(DI)=1000H

MOVDS:[DI],CL;(21000H)=(CL)地址21000H=2000:1000H

编程时,DS存放段地址2000H,段首地址为20000HDI存放偏移地址1000H指令MOVDS:[DI],CL功能:将CL寄存器中的内容传送到以DS为段值,DI为偏移值的内存单元中以下的5种寻址方式,

操作数存放在内存中,取完指令后,还需到内存取数。指令中给出的是该操作数的地址,包括段地址和偏移地址。通过例子看到:在相应的寄存器中设定段值和偏移值,由地址加法器送出20位的地址信号,对选中的内存单元进行操作。数据暂存器PSW标志寄存器执行部件控制电路指令译码器AXBXCXDXSIDIBPSP寄存器组指令队列总线接口控制电路运算器地址总线AB数据总线DB控制总线CB地址译码器21000H21001H21002HIP地址加法器DSESSSCSA0100021000MOVAX,2000HMOVDS,AXMOVDI,1000HMOVDS:[DI],CL20002000A0内存单元的地址由逻辑地址给出逻辑地址由段地址:偏移地址构成▲为减短指令长度,指令中:

只给出偏移地址的来源,段地址由默认关系给出。MOVAL,[2000H]▲CPU根据偏移地址给出的方式,按默认关系自动选择段寄存器,获取段值,由段值、偏移值构成操作数所在内存单元的物理地址。

上例:物理地址=PA=(DS)×10H+2000H即选择DS寄存器的内容为段地址。指令中用[]

给出偏移地址。

操作数的偏移地址又称有效地址EA(EfficientAddress)按给出偏移地址方式的不同,分为以下5种:直接寻址

MOVAL,[1000H]寄存器间接寻址

MOVAL,[BX]寄存器相对寻址

MOVAL,[BX+10H]基址加变址寄存器

MOVAL,[BX+SI]

相对基址加变址寄存器

MOVAL,[BX+SI+10H]直接寻址方式要点:

存储器操作数的有效地址EA在指令中直接给出。

MOVAL,[1000H]

默认段寄存器为DS。

操作数所在内存单元的物理地址为:

PA=(DS)×10H+EA例:MOVAX,[1000H]若(DS)=2000H内存操作数的物理地址为:PA=(DS)×10H+EA=2000H×10H+1000H=21000H

执行后(AX)=3040H

21000

4000A1内存10

30指令3.直接寻址方式(Directaddressing)在汇编语言程序中,不直接用数值表示偏移地址,用符号表示地址,称符号地址(变量名)。符号地址不用括号例符号buffer表示一个地址。

写成MOVAX,buffer;源操作数为buffer指向的内存单元的内容符号地址(变量名)经汇编连接后,与一个确定的数值地址相对应可用操作符Offset获取变量的偏移地址。故PA=(DS)×10H+Offsetbuffer

指令执行结果(AX)=0B0AH4.寄存器间接寻址(Registerindirectaddressing)操作数放在存储器里,操作数的有效地址EA由寄存器给出,

寄存器的内容为操作数的有效地址。可用的寄存器只有BX、SI、DI

、BP如:MOVAL,[BX]

MOVAH,[SI]

MOVDL,[DI]

默认段寄存器的关系:

使用BX、SI、DI,默认段寄存器为DS(BX)PA=(DS)×10H+(SI)(DI)

寄存器相对寻址(Registerrelativeaddressing)

操作数的有效地址是一个基址或变址寄存器的内容和指令中指定的8位或16位位移量(displacement)之和。可用的寄存器有BX、DI

、SI、BP

如:MOVAL,[BX+10H]MOVAH,[DI+20H]MOVDL,30H[SI]MOVDH,40H[BP]

默认段寄存器的关系与寄存器间接寻址相同①

使用BX、SI、DI,默认段寄存器为DS(BX)PA=(DS)×10H+(SI)+偏移量

(DI)②使用BP,默认段寄存器为SSPA=(SS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论