51单片机中ACC怎么用??

作者&投稿:尧胁 (若有异议请与网页底部的电邮联系)
在51单片机中,A和ACC的具体的关系是什么呢~

A和ACC的实质是一样的,对应地址都是0E0H,
只是汇编在使用时,在格式上取了两个名字。
你看看它们的使用方法,有的地方用A,有的地方用ACC,会发现有一定的规律。
当其要进行位表示时,必须用ACC,
比如要写成ACC.7,而不能写成A.7
但当其作为8位二进制数时,ACC和A都能用
但还是有区别
比如 INC ACC和INC A 都能用
还有PUSH ACC POP ACC也可以写成PUSH A和POP A
当然,我们学汇编时,它主要是讲了一个格式,可能书上只讲到PUSH ACC,没有讲到PUSH A,没讲到并不代表它不能用。

A和ACC的实质是一样的,对应地址都是0E0H,
只是汇编在使用时,在格式上取了两个名字。
你看看它们的使用方法,有的地方用A,有的地方用ACC,会发现有一定的规律。
当其要进行位表示时,必须用ACC,
比如要写成ACC.7,而不能写成A.7
但当其作为8位二进制数时,ACC和A都能用
但还是有区别
比如 INC ACC和INC A 都能用
ACC是地址的调用
而A是累加器调用
由于PUSH、POP 是直接寻址,后面一定跟的是直接地址
所以在进栈和出栈的时候 不能用A 只能用Acc
有这么一说
累加器有A、ACC和E0H三种表示形式,分属两种不同的寻址方法,使用A时,为寄存器寻址,指令码为04H,使用ACC和E0H时,为直接寻址,指令码为05E0H
INC A 是寄存器寻址
INC A 是单字节指令,转换成机器码是:04H,机器码中没有明确指出操作数,隐含操作
数是累加器A,所以把这种方式寻址叫寄存器寻址。
INC ACC是直接寻址
INC ACC 是双字节指令,转换成机器码是:05H,E0H。机器码中包含了累加器A的地址E0H
这个 E0H 可以换成其他直接地址,所以这种方式寻址叫直接寻址。
PUSH 和 POP 指令只支持直接寻址,所以不能用 A
PUSH ACC 机器码:C0H E0H
POP ACC 机器码:D0H E0H

A和ACC的实质是一样的,对应地址都是0E0H,
只是汇编在使用时,在格式上取了两个名字。
你看看它们的使用方法,有的地方用A,有的地方用ACC,会发现有一定的规律。
当其要进行位表示时,必须用ACC,
比如要写成ACC.7,而不能写成A.7
但当其作为8位二进制数时,ACC和A都能用
但还是有区别
比如 INC ACC和INC A 都能用
ACC是地址的调用
而A是累加器调用
由于PUSH、POP 是直接寻址,后面一定跟的是直接地址
所以在进栈和出栈的时候 不能用A 只能用Acc
有这么一说
累加器有A、ACC和E0H三种表示形式,分属两种不同的寻址方法,使用A时,为寄存器寻址,指令码为04H,使用ACC和E0H时,为直接寻址,指令码为05E0H
INC A 是寄存器寻址
INC A 是单字节指令,转换成机器码是:04H,机器码中没有明确指出操作数,隐含操作
数是累加器A,所以把这种方式寻址叫寄存器寻址。
INC ACC是直接寻址
INC ACC 是双字节指令,转换成机器码是:05H,E0H。机器码中包含了累加器A的地址E0H
这个 E0H 可以换成其他直接地址,所以这种方式寻址叫直接寻址。
PUSH 和 POP 指令只支持直接寻址,所以不能用 A
PUSH ACC 机器码:C0H E0H
POP ACC 机器码:D0H E0H

51中有个主要的寄存器,A寄存器。ACC等价于A寄存器,调用ACC寄存器就是对A寄存器进行操作,A有8位所以ACC也有8位,正常情况下两者差不多,ACC可以直接进行位操作,寄存器A如果要进行位操作就要借助各种指令,操作起来比较复杂,所以ACC的存在就显得很有必要。
这是我在实践中的心得体会。


在51单片机中,需要使用命令将ACC的值写入A吗??本人初学者。谢谢。_百...
回到你的提问上来:需要使用命令将ACC的值写入A吗?那就是:MOV A , ACC,很显然是毫无意义的,就是把累加器的值再送回给自己,有意思吗?但,ACC的写法还是有用的,对于累加器的8个位寻址时,需要这样写了 SETB ACC.1 ; 这是累加器A中第1位置1 , ACC.0是最低位 CLR ACC.0...

8051单片机中A与ACC有什么区别?
你的电热管没有坏!!!电流=电压除电阻.所以你的电热管的电流应该是在2.6安培,电阻=电压除电流.所以你的电热管的电阻是84,2是正确的,这表明你的电热管是好的,只是你的电热管表面的远红外的涂料层是不是老化了,有新的就把它换了,没有新的就去买远红外涂料重新刷一下就可以正常使用了.我以前就...

单片机c语言的问题 有关ACC的 菜鸟求教
sbit ACC7=ACC^7; \/\/变量ACC7是ACC寄存器的第7位 知道这句话是什么意思吗?sbit同位是C51中的一种扩充数据类型,利用它可以访问芯片内部的RAM中的可寻址位或特殊功能寄存器中的可寻址位。在80C51单片机系统中,经常要访问特殊功能寄存器中的某些位,用关键字sbit定义可位寻址的特殊功能寄存器的位寻...

简述累加器的ACC的作用
但前一条指令的指令长度为2个字节,指令执行时间是1个机器周期;而后一条指令的指令长度为3个字节,指令执行时间是2个机器周期。累加器ACC是一个8位的存储单元,是用来放数据的。但是,这个存储单元有其特殊的地位,是单片机中一个非常关键的单元,很多运算都要通过ACC来进行。以后在学习指令时,常用A...

单片机复位后累加器ACC、寄存器B、四个并行I\/O口的值分别是哪三个?_百...
ACC,B均为00H,四个并行I\/O口均为FFH

8051单片机的ACC是几位的寄存器?acc在上电或者复位后的初始值是多少?求...
MCS8051 的ACC寄存器是8位的,上电的初始状态为 00H

51单片机写入累加寄存器ACC的数据由低到高位排列是ACC0-ACC7吗?执行...
1,是的 2,假定ACC高到低为10011010 ,且CY=0,那么执行ACC=ACC>>1后ACC变为01001101,也就是右移1位,高位补0,这个式子经常用来做除2运算。3,右移后,上例中 ACC.7=0 ACC.0=1

51单片机的ACC能再c语言中直接用么?
如果在Keil里面,加上reg51.h头文件ACC是可以直接使用的,因为头文件里面已经定义好了。

单片机MOV C,ACC.1是什么意思啊?
把累加器(A)的第1位(A的最低位是ACC.0,单片机中常称为第零位)赋给C(此时A,的值保持不变,可理解将ACC.1的值复制给c)。

51单片机内部是如何实现加法的?
在51单片机中,加法运算通常涉及两个操作数,一个累加寄存器(ACC)以及一个进位标志(CY)。下面详细解释了加法是如何实现的:1. 首先,将一个操作数加载到累加寄存器A中。例如,若要计算56A8H + 2368H,首先将56A8H的低8位(A8H)加载到A中。2. 然后,执行ADD指令,将累加寄存器A中的内容与另一...

云梦县13821254609: 51单片机中“ACC”怎么用? -
移聂复方: A和ACC的实质是一样的,对应地址都是0E0H, 只是汇编在使用时,在格式上取了两个名字. 你看看它们的使用方法,有的地方用A,有的地方用ACC,会发现有一定的规律. 当其要进行位表示时,必须用ACC, 比如要写成ACC.7,而不能...

云梦县13821254609: 单片机中,ACC寄存器是什么用途?怎么使用?具体存在哪个地方? -
移聂复方: 你说的是51单片机么?累加器ACC是一个8位的存储单元,是用来放数据的.但是,这个存储单元有其特殊的地位,是单片机中一个非常关键的单元,很多运算都要通过ACC来进行.以后在学习指令时,常用A来表示累加器.但有一些地方例外,比如在PUSH指令中,就必须用ACC这样的名字.一般的说法,A代表了累加器中的内容、而ACC代表的是累加器的地址,一般的,A也可看作是ACC的简写

云梦县13821254609: 单片机 汇编指令 ACC -
移聂复方: 这是一个不带进位加的加法指今,每次操作前它自动对进位清零.这才好有进位时进上去.啊!我说的是51单片机的ADD!

云梦县13821254609: 在51单片机中,需要使用命令将ACC的值写入A吗??本人初学者.谢谢. -
移聂复方: 这是汇编指令才用到ACC和A,其实,就是一个累加器A,只是在不同的指令中写法不同.ACC是属于直接寻址指令,例如:MOV ACC , #10H ,这里的ACC是按物理E0H地址来寻址的,与MOV 0E0H , #10H 指令的寻址方式相同的,这指令编...

云梦县13821254609: 单片机MCS - 51汇编语言中的ACC.7,OV,ACC是什么意思 -
移聂复方: ACC就是A,是8位累加器,要具体对A上的每一位操作的时候,就要用ACC.*. ACC.7就是ACC的第七位,比如说A的值是11011010,那么ACC.7就等于1(第七位就是左数第二位). OV是psw上的溢出标志位,开始为0,如果之前的运算结果溢出,OV就会变成1

云梦县13821254609: 51单片机的ACC寄存器 -
移聂复方: 你怎么个对应关系,你给ACC赋值后,必须要赋值给控制的数码管才可能正确显示出来呀,请问你操作了吗?

云梦县13821254609: 51单片机工作寄存器区主要是做什么用的,用于写哪一类的程序?
移聂复方: 一、51单片机仅有一个累加器ACC,许多处理都要通过ACC来完成,因此就需要有寄存器来保存中间结果二、访问外部数据存储器,只能用间接寻址,可用@DPTR访问全部64k(这里包括你扩展的打印机,显示器,键盘等),对于一个区域,也可以用P2配合R0或R1完成访问三、如果使用中断,中断中又使用比较多的寄存器,可以交换整个寄存器组,开机隐含为0组,可以换用1,2,3组.以上都需要内部寄存器,至于写哪一类程序,到没有什么分别,不论是仪表,自控,监测,采样等等,在使用寄存器方面,没有大的区别.

云梦县13821254609: 51单片机的ACC能再c语言中直接用么? -
移聂复方: 如果在Keil里面,加上reg51.h头文件ACC是可以直接使用的,因为头文件里面已经定义好了.

云梦县13821254609: 51单片机汇编语言中的A和ACC,这是同一个寄存器呀.同一个寄存器可以有2个名称么? -
移聂复方: 是同一个.写成 A,是寄存器寻址. 写成 ACC,是直接寻址.在 PUSH、POP 指令中,必须使用直接寻址,写成 A 就错了. 在必须使用寄存器寻址的时候,也不可用 ACC 来代替.

云梦县13821254609: 单片机 ADD A,ACC指令是什么意思 -
移聂复方: 就是A和A 里面内容相加 .ACC就是A的全称,规定有时要写成ACC,比如 PUSH ACC 和POP ACC 这对指令,不能写成PUSH A.....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网