水电电工知识
电工文库|单片机几种不同的寻址方法
2017-05-26  浏览:56
水电之家讯: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 这两个使用最频繁的寄存器又称为特定寄存器 ,

故称特定寄存器寻址 .

水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 电工 的产品:
  • 水电电工资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 BYBC.CN SYSTEM All Rights Reserved