搜索
下载APP
搜索
历史搜索
猜你喜欢

51单片机中“ACC”怎么用?

秋水逸冰 2023-05-20
51单片机中“ACC”怎么用?
kiss7786
  • 2023-05-20

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

申明:本文转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。文章内容仅供参考。如因作品内容、版权和其他问题需要同本网联系的,请发送邮件联系删除。
取消
回复
抽半价车
抽半价车
每周1辆!
到店红包
到店红包
看车就送168(最高)
购车
百万购车补贴
千元补贴