单片机几种不同的寻址方法

来源:本站
导读:目前正在解读《单片机几种不同的寻址方法》的相关信息,《单片机几种不同的寻址方法》是由用户自行发布的知识型内容!下面请观看由(电工学习网 - www.9pbb.com)用户发布《单片机几种不同的寻址方法》的详细说明。
  1. 立即寻址
  例: MOV A , #10H ;将立即数 10H 送给 A 累加器,即 (A) ← 10H
  注意:立即数的前面必有 “#” 标志。
  2.直接寻址
  例: MOV A , 36H ;将内部 RAM 中 36H 单元内的数据
  送到累加器 A 中,即 A ← (36H)
  在上面这条指令中,带下划线的操作数是所在存储单元的地址,这种寻址方式称为直接寻址。直接寻址方式中操作数所在存储器的空间有板有 3 种 :
  (1) 内部数据存储器的 128 个字节单元 ( 内部数据存储器地址 00H~7FH)
  (2) 位地址空间 .
  (3) 特殊功能寄存器 , 特殊功能寄存器只能用直接寻址方式进行访问 .
  3.寄存器寻址 (Rn)
  例: MOV A, R3 ;将通用寄存器 R3 中的数据送给 A ,即 A ← (R3)
  在上面这条指令中,带下划线的操作数 ( 源操作数 ) 是当前工作寄存器区
  的某个寄存器,这种寻址方式称为寄存器寻址。
  比如:
  XCH A, R1 ;累加器 A 和寄存器 R1 中的数互换
  ADD A, R2 ; 累加器 A 和寄存器 R2 中的数相加
  4.间接寻址
  例: MOV R0, #30H
  MOV A , @R0 ;以 R0 中的内容作为操作数的地址 .A ← ((R0)). 在上面的指令中,带下划线的不是 R0 ,而是以( R0 )为地址,间接找到内部 RAM 中的 30H 单元,将 (30H) 送给 A ,这种寻址方式称为寄存器间接寻址。
可用 R0、R1 和 DPTR 作间址寄存器,访问片内 RAM 或片外 64KB 的 RAM 地址空间。
  比如:
  MOV DPTR, #0CFA0H ;将十六位地址 CFA0H 赋给数据指针 DPTR
  MOVX A, @DPTR ;将片外 RAM ( CFA0H )单元内的数送给 A

  5.基址加变址寻址
  例:
  MOVC A, @A+DPTR ;将地址为 (A) + (DPTR) 的 ROM  ;单元中的数送给 A
  在上面这条指令中,带下划线的操作数是以( DPTR )为基址,( A )为变址,将两者之和作为地址,找出该地址对应的 ROM 单元,再将该单元的数送给 A ,这种寻址方式称为基址加变址寻址方式。 MCS-51 单片机中还有两条变址寻址指令:
  MOVC A, @A+PC
  MOVC A, @A+DPTR

  6.相对寻址
  例:
  CJNE A , #80H , BUDENG ;如 (A) ≠ 80H ,跳转到 BUDENG
  JNC DAYU ;如 (A) > 80H ,跳转到 DAYU
  ……
  BUDENG: SETB FLAG0 ;置位标志位 FLAG0
  ……
  DAYU: SETB FLAG1 ;置位标志位 FLAG1
  ……
  在上面这个程序片段中,带下划线的操作数指明了程序跳转的目的位置,这个目的位置的 PC 相对于下一条程序语句的 PC 不得超出 -128 ~ +127 字节的范围。

  7.特定寄存器寻址
  例:INC A ; 累加器内容加 1.
  INC DPTR ; 数据指针 DPTR 的内容加 1.
  累加器 A 和数据指针 DPTR 这两个使用最频繁的寄存器又称为特定寄存器 ,
  故称特定寄存器寻址 .

提醒:《单片机几种不同的寻址方法》最后刷新时间 2023-07-10 03:55:44,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《单片机几种不同的寻址方法》该内容的真实性请自行鉴别。