STC12C5A60S2单片机学习DAY.5 单片机寻址方式与指令

embedded/2024/9/24 16:27:29/

一、寻址方式

1、立即寻址

直接给出参与运算的操作数,不管此数字存放在哪个地址

如MOV A,#70H,即为将70H放入累加器A中

2、直接寻址

指令操作数域是参与运算的数的地址

如ANL 70H,#42H

表示地址为70H的数与立即数42H相与,得到的结果存放在70H中

3、间接寻址

采用R0/R1前添加@实现

假设R1中存放的数据为55H,这个55H表示的是一个地址,55H中存放的数据为44H

MOV A,@R1

表示将数据44H送入累加器A中

4、寄存器寻址

对工作寄存器R0~R7、累加器A、通用寄存器B、进位C、地址寄存器中的数进行操作。

如INC R0;   自加一  表示寄存器R0的值自加1后赋给R0,类似i++

5、相对寻址(主要用于转移指令)

将程序计数器PC中的当前数据(基地址)与指令给出的数(偏移量)相加,结果作为转移指令的转移地址。偏移量范围+127~-128

6、变址寻址

MOV  A,@A+DPTR;

表示累加器A为偏移量寄存器,A中的数据与地址寄存器DPTR中的内容相加,得到的数据为一个地址,将此地址中放的数据送入累加器A

7、位寻址

对一些内部数据存储器和特殊功能寄存器进行微操作时的寻址,需要借助进位C作为位操作累加器

指令操作数直接给出该位地址

位寻址和直接寻址的字节地址形式完全一样,需要有操作码加以区分!!!

如MOV C,20H;   其中20H是一个地址,而非数据

对比直接寻址MOV A,#20H,此时20H为数据,而非地址

二、指令集与指令定义(参考手册)


http://www.ppmy.cn/embedded/12162.html

相关文章

VMware 15 安装centos7虚拟机

1. 安装前准备 1.1 下载centos 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 下载需要版本的centos版本 直达链接 centos7.9 : centos-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿里云 .基础使用的话安装选择这个就行了,大概下载几分钟 2. …

【数据分析】学习笔记day1

sklearn与经典机器学习算法 机器学习的利器——sklearn机器学习的7个流程:sklearn的功能主要分为六大部分: 目标: 1、掌握sklearn的基本用法 2、掌握线性回归的原理,并进行实践操作 3、理解监督学习经典算法、如K-近邻算法 4、理解…

mac电脑搭建vue环境(上篇)

第一步:mac电脑要有homebrew,如何安装homebrew 点击下方 MAC安装homebrew-CSDN博客 第二步:homebrew安装node.js 第三步:安装npm 第四步:安装webpack 第五步:安装vue脚手架 第六步:可以在…

爬虫中怎么判断一个网页是否包含ajax请求

1、前言 在用爬虫抓取数据的时候,如果一个网页包含ajax请求,由于数据时动态加载的,直接根据网址是不能获取到想要的数据。因此,在爬虫需要首先判断一个网页是否包含ajax请求数据。 2、ajax请求 2.1 什么是ajax请求 AJAX Asynch…

世媒讯提供海内外媒体宣发服务,引领企业新媒体发展之路

在这个信息化的时代,软文发稿已经成为企业发展不可或缺的重要工具。随着社会的快速发展,消费者需要更多定制化、个性化的信息。利用软性推广,凭借其细致入微的信息传递,可以迅速抓住消费者的注意力,从而进一步推动企业…

基于SpringBoot的“幼儿园管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“幼儿园管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 个人信息界面图 缴费信息管理界…

1.MyBatis初始

1.1 什么是MyBatis MyBatis是一款优秀的持久层框架,它能够帮助Java开发者将业务逻辑与数据访问代码分离,具有简单、灵活和高效的特点。MyBatis使用XML或注解方式描述Java对象及其SQL语句之间的映射关系,它支持多种数据库和操作方式&#xff0…

k8s的资源对象Deployment该如何使用?

k8s的资源对象Deployment该如何使用? Kubernetes(k8s)是一个开源的容器编排系统,用于自动化应用程序部署、扩展和管理。在k8s中,Deployment是管理Pod副本的一种方式,它确保了指定数量的Pod副本始终运行。本…