0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探讨单片机的寻址方式

贸泽电子设计圈 来源:未知 2018-11-28 11:09 次阅读

80C51有七种寻址方式:

1、立即寻址,寻址空间为ROM;

2、直接寻址,寻址空间为片内RAM的低128B和特殊功能寄存器;

3、寄存器寻址,寻址空间为A、B、DPTR、CY、通用工作寄存器等;

4、寄存器间接寻址,片内RAM低128B、片外RAM;

5、相对寻址,寻址空间为ROM;

6、变址寻址,寻址空间为ROM;

7、位寻址,寻址空间为片内RAM低128B的位寻址区的128个位,其字节地址为20H~2FH;以及部分可以位寻址的特殊功能寄存器。

参考:AT89C51单片机能直接认识和执行的机器指令有255条,有7种寻址方式,即立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。

1. 直接寻址:

指令中直接给出参与操作的数据的地址,该地址一般用direct表示。

汇编指令:MOV A,direct

该指令的功能是将片内RAM地址direct单元中的内容(参与操作的数据)传送到累加器A中,双字节指令。

2. 立即寻址:

指令中直接给出参与操作的数据,称立即数,用data表示。在汇编语言中,为标明立即数,为data加前缀”#”。立即数可以是8位和16位二进制数,分别用#data和#data16表示。

汇编语言指令:MOV A,#data

该指令将立即数data传送到累加器A中,双字节指令。

3. 寄存器寻址:

参与操作的数据存放在寄存器中,汇编指令中直接以寄存器名来表示参与操作的数据地址,寄存器包括工作寄存器R0~R7、累加器A、AB、数据指针DPTR和位运算寄存器C。

汇编语言指令:MOV A,Rn ;n=0~7

该指令将Rn中的内容传送到累加器A中,单字节指令。

4. 寄存器间接寻址:

寄存器间接寻址为二次寻址,第一次寻址得到寄存器的内容为(Ri)或(DPTR),第二次寻址是将第一次寻址得到的寄存器内容作为地址,并在其中存、取参与操作的数据。汇编语言中,寄存器前缀@是寄存器间接寻址的标志,有@Ri、@DPTR等。

汇编语言指令:MOV A,@Ri ;i=0、1

该指令是将Ri中的内容作为地址,再将该地址中的内容传送到累加器A中,单字节指令。

5. 变址寻址:

间接寻址由两个寄存器提供。若由A、PC提供,在汇编语言指令中寻址地址表示为@A+PC;若由A和DPTR提供,在汇编语言指令中寻址地址为@A+DPTR。其中,PC或DPTR被称为基址寄存器,A被称为变址寄存器,基址与变址相加为16位无符号加法。若变址寄存器A中内容加基址寄存器DPTR(或PC)中内容时,低8位有进位,则该进位直接加到高位,不影响进位标志。因变址寻址指令多用于查表,故常称为查表指令。

汇编语言指令:MOVC A,@A+DPTR

该指令将DPTR中的内容加上A中的内容作为地址,再将该地址中的内容传送到累加器A中,单字节指令。

6. 相对寻址:

相对寻址是以相对寻址指令的下一条指令的程序计数器PC的内容为基值,加上指令机器代码中的“相对地址”,形成新的PC值(要转移的指令地址)的寻址方式。指令机器代码中“相对地址”指的是用一个带符号的8位二进制补码表示的偏移字节数,其取值范围为-128~+127,负数表示向后转移,正数表示向前转移。

若(PC)表示该指令在ROM中的首地址,该指令字节数为2,执行时分两步操作:(PC)←(PC)+2,(PC)←(PC)+相对地址。第一步完成后,PC中的值为该指令的下一条指令的首地址;第二步完成后,PC中的内容(PC)为转移的目标地址。所以,转移的目标地址范围是该相对寻址指令的下一条指令首址加上-128~—+127字节的地址。

汇编语言指令:SJMP rel

汇编语言相对寻址指令中的”rel”往往是一个标号地址,表示ROM中某转移目标地址。汇编软件对该汇编语言指令进行汇编时,自动算出“相对地址”并填入机器代码中,应将”rel”理解为“带有相对意义的转移目标地址”。

Rel=(PC)+相对寻址指令字节数+相对地址

其中,(PC)为该指令所在ROM中的首地址。

7. 位寻址:

参与操作的数据为“位”,而不是字节,是对片内数据存储器RAM和SFR中可位寻址单元的位进行操作的寻址方式。

汇编语言指令:ANL C,bit

该指令将bit(位地址)中的内容(0或1)与C中的内容进行与操作,再将结果传送到PSW中的进位标志C中。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620821
  • 寄存器
    +关注

    关注

    30

    文章

    5028

    浏览量

    117719
  • 寻址
    +关注

    关注

    0

    文章

    14

    浏览量

    7366

原文标题:【M博士问答】单片机的寻址方式有哪些?

文章出处:【微信号:Mouser-Community,微信公众号:贸泽电子设计圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机原理及应用: 寻址方式寻址空间#单片机

    单片机单片机原理
    学习硬声知识
    发布于 :2022年11月09日 03:24:46

    什么是单片机寻址方式寻址方式有哪些?

    的内容为20H,则执行MOV R1,A指令后,内部RAM 09H单元的值就变为20H。2. 直接寻址直接寻址是指把存放操作数的内存单元的地址直接写在指令中。在MCS-51单片机中,可以直接寻址
    发表于 01-13 14:54

    51单片机寻址方式的疑问:为什么B寄存器在乘除法指令中是寄存器寻址

    51单片机中B寄存器是SFR,B寄存器仅在乘法、除法指令中为寄存器寻址,在其它指令中为直接寻址。那么它只有在乘除法时看做特殊功能寄存器,其他指令看做通用寄存器。但是直接寻址是访问特殊功
    发表于 01-01 09:45

    单片机有哪些寻址方式

    单片机的结构与原理是什么?单片机有哪些寻址方式
    发表于 09-29 07:23

    单片机什么叫位寻址?不可位寻址

    51单片机定时器控制器中TF标志位中F是什么英文单词的缩写?什么意思?单片机什么叫位寻址?/不可位寻址?什么叫做高四位低四位?
    发表于 10-09 09:16

    8051单片机指令系统有哪几种寻址方式

    复习思考题8051单片机指令系统有哪几种寻址方式? 1. 寄存器寻址 2. 直接寻址 3. 立即寻址
    发表于 11-17 06:58

    单片机寻址方式与指令系统的相关资料分享

    单片机寻址寻找操作数能通过直接给的方式(立即寻址)例:MOV A,#52让我们先来复习一下我们学过的一些指令:MOV P1,#0FFH,MOV R7,#0FFH这些指令都是将一些数据
    发表于 11-30 07:39

    单片机教程八:单片机寻址方式与指令系统

    单片机教程八:单片机寻址方式与指令系统 通过前面的学习,我们已经了解了单片机内部的结构,并且也已经知道,要控制
    发表于 05-15 23:02 540次阅读

    什么是单片机寻址方式与指令系统

     什么是单片机寻址方式与指令系统 通过前面的学习,我们已经了解了单片机内部的结构,并且也已经知道,要控制单片机,让它为我们干学,
    发表于 03-11 09:31 2895次阅读

    单片机寻址方式

    指令给出参与运算的数据方式称为寻址方式。换句话说,寻址方式就是寻找确定参与操作的数的真正地址。 在MCS-51系列
    发表于 06-29 17:14 2742次阅读

    51单片机汇编语言教程_单片机寻址方式与指令系统

    51单片机汇编语言教程:8课单片机寻址方式与指令系统
    发表于 01-19 15:25 0次下载

    使用51单片机进行寻址方式详细说明

    AT89C51单片机能直接认识和执行的机器指令有255条,有7种寻址方式,即立即寻址、直接寻址、寄存器
    发表于 08-20 17:31 1次下载
    使用51<b class='flag-5'>单片机</b>进行<b class='flag-5'>寻址</b>的<b class='flag-5'>方式</b>详细说明

    单片机有哪些寻址方式?7种寻址方式的详细资料讲解

    寻址就是寻找指令中操作数或操作数所在的地址。所谓寻址方式,就是如何找到存放操作数的地址,把操作数提取出来的方法。通常指源操作数的寻址方式
    发表于 08-08 17:33 2次下载
    <b class='flag-5'>单片机</b>有哪些<b class='flag-5'>寻址</b><b class='flag-5'>方式</b>?7种<b class='flag-5'>寻址</b><b class='flag-5'>方式</b>的详细资料讲解

    51单片机汇编语言的寻址方式详细资料说明

    本文档的主要内容详细介绍的是51单片机汇编语言的寻址方式详细资料说明。寻址方式:指定操作数所在单元的方法。8051
    发表于 07-26 17:36 1次下载
    51<b class='flag-5'>单片机</b>汇编语言的<b class='flag-5'>寻址</b><b class='flag-5'>方式</b>详细资料说明

    51单片机的相对寻址问题的探讨资料说明

    MCS-51系列单片机作为经典的单片机应用十分广泛,其指令总共有111条。其指令中对操作数的寻址方式有7种,分别为立即数寻址、直接
    发表于 08-21 17:09 2次下载
    51<b class='flag-5'>单片机</b>的相对<b class='flag-5'>寻址</b>问题的<b class='flag-5'>探讨</b>资料说明