《例说8051:单片机程序设计案例教程》——2-5 寻址方式

简介:

本节书摘来自异步社区《例说8051:单片机程序设计案例教程》一书中的第2章,第2-5节,作者 张义和,陈敌北,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2-5 寻址方式

所谓“寻址”,简单地讲,就是找到操作数地址的方法。8051提供5种寻址方式,说明如下。

直接寻址

直接寻址(direct addressing)是直接在操作数字段里,指定操作数所在位置的地址,包括特殊功能寄存器(如P1、P2、PSW等),例如:

ADD A, 40H

将存储器40H地址的内容加到ACC里。又如:

MOV 30H, A

将ACC的内容复制到存储器30H地址里。

间接寻址

间接寻址(indirect addressing)是利用间接寄存器(Index Register,R1或R0,标示为R_i)、基址寄存器(SP或DPTR)间接指示操作数所在位置的地址,而在间接寄存器或基址寄存器之左要加上“@”符号,例如:

INC  @R0

以R0的内容为地址,将存储器该地址的内容加1。又如:

MOVX @DPTR, A

以DPTR的内容为地址,将ACC的内容复制到外部存储器该地址里。

寄存器寻址

寄存器寻址(Register addressing)是以寄存器(即R0到R7)的内容为操作数,例如:

ANL  A, R5

将R5的内容与ACC的内容进行AND运算,其结果放入ACC里。又如:

DJNZ  R7, LOOP

将R7的内容减1,若其结果不等于0,则跳到LOOP处;若其结果等于0,则执行下一条指令。

立即寻址

立即寻址(immediate addressing)是直接在操作数字段里放置操作数,而在操作数左边必须放置一个“#”符号,例如:

ORL A, #0FH

将0FH与ACC的内容进行OR运算,其结果放入ACC里。又如:

CJNE A, #10, LOOP

若ACC的内容不等于10,则跳到LOOP处;若ACC的内容等于10,则执行下一条指令。

变址寻址

变址寻址(index addressing)与间接寻址有点类似,不过,变址寻址同时使用变址寄存器与基址寄存器,使用ACC作为变址寄存器,以存储偏移(offset)、PC或DPTR为基址寄存器。将基址与偏移相加后,才是操作数所在位置的地址,例如:

MOVC A, @A+PC

先将PC的内容与ACC的内容相加,以其结果为地址,再将该地址的内容复制到ACC里。又如:

JMP @A+DPTR

先将DPTR的内容与ACC的内容相加,以结果为地址,再跳到该地址。

相关文章
|
1月前
|
数据处理
MCS-51单片机汇编语言程序设计
MCS-51单片机汇编语言程序设计
19 0
|
传感器 数据采集 监控
上千个完整设计的单片机、8086、STM32制作教程和资料-转发分享
在网上收集了接近上千个完整设计的单片机、8086、STM32制作教程和资料-转发分享(涵盖了大部分的毕设课设题目),学习单片机的最好教程,也可以作为帮助大家在做电子课设毕设时有利的帮助,可以从以下百度网盘下载(按照编号下载)。
1828 0
上千个完整设计的单片机、8086、STM32制作教程和资料-转发分享
|
9月前
|
开发框架 JSON 物联网
Nanoframework 操作单片机蓝牙配置WIFI的案例
通过`Nanoframework`的蓝牙配置Wifi的名称和密码
89 0
|
算法 芯片
基于51单片机点阵汉字显示程序设计
基于51单片机点阵汉字显示程序设计
基于51单片机点阵汉字显示程序设计
蓝桥杯之单片机学习(十四)——基础技能综合实训案例解析
蓝桥杯之单片机学习(十四)——基础技能综合实训案例解析
221 0
蓝桥杯之单片机学习(十四)——基础技能综合实训案例解析
蓝桥杯之单片机学习(十二)——串口通信进阶应用案例解析
蓝桥杯之单片机学习(十二)——串口通信进阶应用案例解析
209 0
蓝桥杯之单片机学习(十二)——串口通信进阶应用案例解析
蓝桥杯之单片机学习(九)——定时器的进阶综合案例解析
蓝桥杯之单片机学习(九)——定时器的进阶综合案例解析
182 0
|
芯片
单片机:蜂鸣器发声和自动关闭一站式教程:(附赠如何控制声音大小和音调)软件编程+硬件原理+注意事项
单片机:蜂鸣器发声和自动关闭一站式教程:(附赠如何控制声音大小和音调)软件编程+硬件原理+注意事项
470 0
单片机:蜂鸣器发声和自动关闭一站式教程:(附赠如何控制声音大小和音调)软件编程+硬件原理+注意事项
单片机原理及其应用——单片机控制单个发光二极管实验(附超详细的C51单片机实验教程)
单片机原理及其应用——单片机控制单个发光二极管实验(附超详细的C51单片机实验教程)
单片机原理及其应用——单片机控制单个发光二极管实验(附超详细的C51单片机实验教程)
|
存储 开发框架 算法
51单片机原理以及接口技术(四)--80C51的程序设计
单片机应用系统是合理的硬件与完善的软件的有机组合。软件就是各种指令依某种规律组合形成的程序。程序设计(或软件设计)的任务是利用计算机语言对系统预完成的任务进行描述和规定。
429 0
51单片机原理以及接口技术(四)--80C51的程序设计