51單片機(jī)中“ACC”怎么用?
A和ACC的實(shí)質(zhì)是一樣的,對(duì)應(yīng)地址都是0E0H,
只是匯編在使用時(shí),在格式上取了兩個(gè)名字。
你看看它們的使用方法,有的地方用A,有的地方用ACC,會(huì)發(fā)現(xiàn)有一定的規(guī)律。
當(dāng)其要進(jìn)行位表示時(shí),必須用ACC,
比如要寫成ACC.7,而不能寫成A.7
但當(dāng)其作為8位二進(jìn)制數(shù)時(shí),ACC和A都能用
但還是有區(qū)別
比如 INC ACC和INC A 都能用
ACC是地址的調(diào)用
而A是累加器調(diào)用
由于PUSH、POP 是直接尋址,后面一定跟的是直接地址
所以在進(jìn)棧和出棧的時(shí)候 不能用A 只能用Acc
有這么一說
累加器有A、ACC和E0H三種表示形式,分屬兩種不同的尋址方法,使用A時(shí),為寄存器尋址,指令碼為04H,使用ACC和E0H時(shí),為直接尋址,指令碼為05E0H
INC A 是寄存器尋址
INC A 是單字節(jié)指令,轉(zhuǎn)換成機(jī)器碼是:04H,機(jī)器碼中沒有明確指出操作數(shù),隱含操作
數(shù)是累加器A,所以把這種方式尋址叫寄存器尋址。
INC ACC是直接尋址
INC ACC 是雙字節(jié)指令,轉(zhuǎn)換成機(jī)器碼是:05H,E0H。機(jī)器碼中包含了累加器A的地址E0H
這個(gè) E0H 可以換成其他直接地址,所以這種方式尋址叫直接尋址。
PUSH 和 POP 指令只支持直接尋址,所以不能用 A
PUSH ACC 機(jī)器碼:C0H E0H
POP ACC 機(jī)器碼:D0H E0H