版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章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本课程学习汇编语言的意义:汇编语言程序反响机器运行的实际过程,通过编制汇编语言程序,加深对计算机工作过程的理解。本课程涉及到接口电路的设计及应用,在直接控制硬件的场合,汇编语言比高级语言更具优势,也可以更好的理解接口工作过程。由指令字节给出的信息求出操作数的地址称为有效地址——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)=3040H21000
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)×10H+(BP)+偏移量例:MOVAX,[BX+30H]假设(DS)=2000H(BX)=1000H
那么内存操作数的物理地址为:PA=(DS)×10H+(BX)+30H=21030H
指令执行后:(AX)=(21030H)=8976H6.基址加变址寻址
操作数的有效地址由一个基址存放器与一个变址存放器之和给出。可用的基址存放器为BX、BP,变址存放器为SI、DI。如MOVAL,[BX+SI]MOVAX,[BX][DI]MOVDL,[BP+SI]MOVDX,[BP][DI]默认段存放器由基址存放器决定①基址存放器为BX,默认段存放器为DS(SI)PA=(DS)×10H+(BX)+(DI)②基址存放器为BP,默认段存放器为SS(SI)PA=(SS)×10H+(BP)+(DI)例:MOVAX,[BX+SI]假设(DS)=4000H(BX)=2000H(SI)=100H那么内存操作数的物理地址为:PA=(DS)×10H+(BX)+(SI)=42100H指令执行后(AX)=(42100H)=2345H相对基址加变址寻址〔Relativebasedindexedaddressing〕
操作数的有效地址由基址存放器、变址存放器、偏移量(8位或16位)三者之和给出。可用的存放器与基址加变址寻址方式相同基址存放器有BX、BP变址存放器有SI、DI如MOVAL,[BX+SI+10H]MOVAX,20H[BX][DI]MOVDL,[BP+SI+30H]MOVDX,40H[BP][DI]默认段存放器由基址存放器决定,与基址加变址寻址相同.①基址存放器为BX,默认段存放器为DS(SI)PA=(DS)×10H+(BX)++偏移量(DI)②基址存放器为BP,默认段存放器为SS(SI)PA=(SS)×10H+(BP)++偏移量(DI)例:MOVAX,[BX+SI+10H]假设(DS)=4000H(BX)=3000H(SI)=200H
那么内存操作数的物理地址为:PA=(DS)×10H+(BX)+(SI)+10H=43210H
指令执行后(AX)=(43210H)=8877H内存操作数按给出偏移地址方式的不同,有以下5种寻址方式:直接寻址
MOVAL,[1000H]寄存器间接寻址
MOVAL,[BX]寄存器相对寻址
MOVAL,[BX+10H]基址加变址寄存器
MOVAL,[BX+SI]
相对基址加变址寄存器
MOVAL,[BX+SI+10H]存储器操作数的段地址按默认关系得到。特点:有BP默认SS
无BP默认DS寻址方式的几点说明:1.不自创寻址方式内存操作数地址只能直接给出或由BX、BP、SI、DI给出,存放器的组合也不是任意的。基址加变址[BX+SI][BX+DI][BP+SI][BP+DI]存放器相对[SI+X][DI+X][BX+X][BP+X]存放器间接[SI][DI][BX]相对基址加变址[BX+SI+X][BX+DI+X][BP+SI+X][BP+DI+X]X为8位或16位偏移量2.偏移量可用符号地址给出例:MOVAX,mask[BX]假设(DS〕=1000H〔BX〕=300HOFFSETmas
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部编版三年级下册语文期中培优卷A卷
- 2026年初中信息技术学业水平测试样卷及答案
- 2026边检专业真题含解析及答案
- 2026年高考地理全国一卷考试卷及答案
- 2026年保密考试简答题考试卷及答案
- 2026年安徽省宿州市重点学校小升初语文考试试题及答案
- 大班美术教案夏夜
- 二年级语文下册 第七单元 课文6 22 小毛虫教学设计(pdf) 新人教版
- 第 11课图文并茂教学设计初中信息技术南方版2024七年级下册第2册-南方版2024
- 地理标志产品质量要求祁门红茶
- 企业食堂安全培训课件
- 电力专业数据传输(EPDT)通信系统-总体技术规范
- 2024仁爱版初中英语单词表(七-九年级)中考复习必背
- 生化池清掏方案
- 劳动力、机械设备和材料投入计划措施
- 陶瓷装饰工(四级)理论考试复习题库(浓缩300题)
- 冠心病规范化诊断和治疗
- 2022届北京海淀高三语文一模评标说明课件
- 水利工程建设标准强制性条文工程地质勘察部分宣贯
- 燃气用户检修工
- 车辆信息登记表参考模板范本
评论
0/150
提交评论