单片机累加器A与ACC区别

发布者:WiseThinker最新更新时间:2015-09-28 来源: eefocus关键字:单片机  累加器 手机看文章 扫描二维码
随时随地手机看文章
累加器A与ACC区别 

累加器写成A或ACC在51汇编语言指令中是有区别的。

ACC在汇编后的机器码必有一个字节的操作数,即累加器的字节地址E0H,A在汇编后则隐含在指令操作码中。所以在指令中A不能用ACC来替代,而对A的特殊功能寄存器直接寻址和累加器某一位的寻址要用ACC,而不能写成A。

例如,指令INC A的机器码是04H,属于寄存器寻址,写成ACC后则成了INC DIRECT的格式,对应机器码为05E0H。

A和ACC都表示累加器,但A是累加器的代号,在指令中默认是无地址的,而ACC是累加器在指令中的直接地址(E0H),可出现在用直接寻址的任何地方,例如:   

PUSH    ACC 

POP    ACC

类似:工作寄存器R0~R7在指令中也有两种不同的写法,生成的机器码也不同,如:

MOV       40H,R0       

MOV       40H,00H

假设当前工作寄存器为0组,前者属于寄存器寻址,后者属于存储器直接寻址。但R0和00H的级别不同,00H只是RAM区的一个普通单元,其读写速度要比慢得多。微型计算机内部通常设置工作寄存器组,运算的结果可以放在寄存器中而不必每次都放到存储器里,可以提高机器的工作速度。其实寄存器也是一种存储器,只不过它是CPU中的部件,速度最快而已。

寄存器和一般的存储器是混叠的,同一单元用不同的指令,它就会执行不同的功能。

一般的说法:A表示了累加器中的内容【寄存器寻址】;ACC表示了累加器的地址【直接寻址】。

 

A和ACC的实质是一样的,对应地址都是0E0H,只是汇编在使用时,在格式上取了两个名字。使用有一定的规律:

当其要进行位表示时,必须用ACC,比如要写成ACC.7,而不能写成A.7;

但当其作为8位二进制数时,ACC和A都能用,但还是有区别:比如INC ACC和INC 都能用,还有PUSH ACC,POP ACC不可以写成PUSH A和POP A

 

在Keil C中用了这样一个命令:PUSH     ,汇编时提示错误,后来我把PUSH     改为PUSH    ACC 就可以通过了,请问这是什么回事?A与ACC是同一个寄存器吗?

所谓“A”是相关指令对累加器A的缺省指定(不占操作数指令),例如:

MOV A,#data

这是一个2字节指令,第1个字节是操作码,第2个字节是立即数。由于是默认与ACC相关,所以用A即可,且不占指令字节数。

而PUSH和POP没有缺省指定累加器,要访问累加器就必须采用其所允许的直接寻址方式,“ACC”就是累加器A的地址。PUSH是直接寻址,后面一定跟的是直接地址。你可以看到reg51.h中ACC的直接地址是0xe0;也可以PUSH E0h;累加器有A、ACC和E0H三种表示形式,分属两种不同的寻址方法,使用A时,为寄存器寻址,指令码为04H,使用ACC和E0H时,为直接寻址,指令码为05E0H。可A的位7,为什么非得用ACC.7而不用A.7。这与位寻址有关系,位地址有四种:直接位地址;字节地址加位序号;位名称;特殊寄存器加位序号。

 

为什么push acc必须用acc,而不能用a,相反movx @dptr,a只能用a,而不能用ac?acc和a有什么区别?ACC is register。A is unseparatable part of opcode。

在mov指令中可通用,用"a"时为2字节1周期;用"acc"时为3字节2周期。 

尽管物理地址相同,但push是对寄存器操作,而movx是对累加器操作。

汇编结果:"inc a"为"04h"运行时间1周期;"inc acc"为"05h,e0h"运行时间2周期。

通俗的解释为:acc是地址为E0H的寄存器,A是标准的无地址的累加器,自然后者便捷,但两者在值上互为镜像。


关键字:单片机  累加器 引用地址:单片机累加器A与ACC区别

上一篇:keil常见错误和解决方法
下一篇:Keil C 编译器常见警告与错误信息的解决方法

推荐阅读最新更新时间:2024-03-16 14:33

芯原业界领先的嵌入式GPU IP赋能先楫高性能的HPM6800系列RISC-V MCU
先楫新一代的仪表显示产品具有高画质、低功耗等特点 2024年3月4日,中国上海—— 芯原股份今日宣布先楫半导体(简称“先楫”)的HPM6800系列新一代数字仪表显示及人机界面系统应用平台采用了芯原的高性能2.5D图形处理器(GPU)IP。 HPM6800系列产品基于RISC-V CPU内核,具备高算力、低功耗、高集成度和出色的多媒体功能,适用于汽车仪表、人机交互界面(HMI),以及电子后视镜(CMS)等需要复杂图形处理、高分辨率显示和高性能多媒体用户界面的应用。 芯原支持OpenVG的2.5D GPU IP能够为MCU/MPU设备提供高能效的图形处理和优质的图像输出,同时显著降低CPU负载。 凭借成熟的可扩展性,该GP
[嵌入式]
芯原业界领先的嵌入式GPU IP赋能先楫高性能的HPM6800系列RISC-V <font color='red'>MCU</font>
写给初学单片机的学弟学妹们
我作为理工自动化专业的学生,说说自己当初为什么要学习单片机吧,当然它是一门必修课,不过我的经历告诉我,在课堂上是无法学好单片机的。相信作为工科的人多多少少都会听到过8051、MCU、DSP和ARM嵌入式的等等的名词。就算不知道具体指的是什么,也应该在不少资料和文献上看到过这样的字样。 最早知道单片机的时候应该是在大二的时候,大一新生的时候,说实在话,上课的那些内容从考试的角度来看,我不觉得有任何的压力,富余出来的时间按大多数都花在看小说、看电视剧、看电影和打游戏上了,游戏由于Z和T的缘故经常玩的是魔兽争霸Dota和CS什么的,在网吧一待就是半天。小说则继承了高中时喜欢“九州”系列的传统,买的书或杂志也摆满了一书架子,中间也有重复读
[单片机]
基于单片机的燃料开关测试系统设计
0 引 言 众所周知能源危机和大气污染是未来汽车燃料所要解决的最关键问题。为降低排放,缓解石油能源紧张的局面,气体燃料受到了世界各国的重视和推广。大量实车试验均证实以天然气(CNG)或液化石油气(LPG)为燃料,发动机的NOx,总碳氢THC,CO及CO2的排放较汽油的排放污染明显减少,且大大节省了能源。 双燃料汽车技术的关键之一是油和气转换控制,燃料开关正是用于以自动或手动的方式实现燃料间的切换,其品质也关系到汽车的整体性能。本文所针对的燃料开关具有以下的主要功能:燃料切换、燃料容量显示、蜂鸣器报警以及指示灯亮度关于环境光照度自动调节等。为确保燃料开关的质量控制满足最苛刻的欧洲汽车零部件质量标准,燃料开关必须百分之百进行测试。
[单片机]
基于<font color='red'>单片机</font>的燃料开关测试系统设计
单片机与CF卡的接口设计与实现
1 引言     电子存储设备的不断涌现,使许多便携设备大容量数据的实时处理和存储成为可能,CF卡( Compact Flash card)因具有容量大、体积小、性能优良、携带方便等优点,已广泛应用在数据采集系统和许多消费类电子产品中。然而目前所开发的产品成本高,电路复杂,所需元器件数目多,严重制约了CF卡在更广阔领域内的应用。本文给出了一种简洁实用的硬件接口电路.成功实现了单片机对CF卡标准文件的读写。 2 接口电路设计     接口电路如图1所示,采用与80C51兼容的SST89C54型单片机。SST89C54程序存储器分为block0和block1两块,前者为16 KB,后者为4 KB,block0和block1
[单片机]
ROHM旗下蓝碧石半导体推出适用于家电和工业设备的微控制器
概要 球知名半导体制造商ROHM集团旗下的蓝碧石半导体(LAPIS Semiconductor)面向功能多样化的白色家电、厨房小家电和工业设备,开发出搭载蓝碧石半导体独有的16bit CPU内核的通用微控制器系列“ML62Q1000系列”。 “ML62Q1000系列”是由6个系列共96个型号组成的新系列,通过蓝碧石半导体的低功耗技术和抗噪技术继承了“低功耗&强化”的特点。除了一直以来广受好评的特点之外,此次新搭载了可感知微控制器内部故障的自我诊断等安全功能,支持14个安全项目(IEC60730规定),可在微控制器发生意外故障时保护设备和系统。 此次作为第一批样品的ML62Q1200系列、ML62Q1400系列、ML62Q
[单片机]
ROHM旗下蓝碧石半导体推出适用于家电和工业设备的<font color='red'>微控制器</font>
用STC12C5412AD单片机构成的集成实验板电路
  STC12C5412AD单片机,是一款增强型8051标准的51系列的单片机。速度比普通8051快12倍,可以在家庭中的计算机编程,无需仿真器。      STC12C5412AD有8通道的10位AD转换器,可以检测模拟信号,不用AD时可以当作数字输入输出口用。还有许多优于8051的性能。其指令与普通8051指令代码完全兼容,但执行速度大幅提升。   用其构成的示教学习板电路原理图如下图所示。   本电路的外围电路有:      (1)简单的发声电路:讯响器。      (2)麦克放大电路和半波整流电路。      (3)4个数码管动态显示电路。      (4)15个发光二极管,其中7个发光二极管与
[单片机]
用STC12C5412AD<font color='red'>单片机</font>构成的集成实验板电路
51单片机系列连载1——单片机概述
从今天开始,我会简单地对51单片机相关知识及一些模块进行总结,主要是从市场应用导入,然后分析一下用到的技术编程,最后说一下自己的想法,基本都是这个流程。这仅仅是一个开始,之后还会有STM32、安卓系统等系列,先从最简单的单片机开始。 我们先看看市场上有哪些产品会用到单片机,想想看,基本上周围所有的电子产品都会用到,确切的说,最基本的嵌入芯片都会有单片机的影子,它涉及到各个领域,所以单片机的应用非常广泛。先看看单片机的实物图: 实际上就是一个芯片,焊接嵌套到一些仪器里,通过c语言编程,通过stc-isp等仿真器的仿真,进而操作芯片实现
[单片机]
一种频率编码键盘的设计与实现
单片机在消费电子、自动化仪表、工业控制等领域已得到广泛的应用,它以灵活的设计、低廉的成本、微小的功耗在电子器件市场中占有十分重要的地位。今天发发越来越多的芯片厂商在不遗余力地竞争这个应用空间,如INTEL、NEC、MICROCHIP等公司都已形成了自己强大的新产品线,给产品的设计带来了越来越多的选择。 几乎在每一个单片机应用系统中,键盘都是必备的人机交互的主要输入设备。传统的按键识别方法是采用编码式键盘芯片,如8279;或采用软件控制多条I/O线扫描的方法。这种方法用到的I/O引脚数常常在4条以上。然而单片机I/O引脚资源有限,特别是在引脚数秒、功耗低、系统成本敏感的场合,成全和功耗决定了设计人员不可能另外扩充I/O空是,如采
[单片机]
一种频率编码键盘的设计与实现
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved