0

これによると: http://www.8052.com/tutsfr.php、アドレスが8で割り切れるsfrはビットアドレス可能です。それらに対してSETBやCLRなどを実行できます。しかし、それらは他のメモリアドレスと重複していませんか? たとえば、P0 は 80h です。したがって、P0.0 は 80h、P0.1 は 81h になります。ただし、81h は SP のアドレスです。重なっていませんか?

4

2 に答える 2

2

ビットアドレスとバイトアドレスを混同しています。それらは重複したり、同じ物理的な場所を参照したりしません。ビットアドレスを取得する命令(SETBなど)は、ビットアドレスをバイトアドレスとビット番号にデコードする方法を知っています。バイトアドレスは、ビットアドレスの下位3ビットをマスクアウトすることによって取得されます。ビット番号は、上位5ビットをマスクアウトすることによって取得されます。

例えば。ビットアドレス87h->バイトアドレス80h、ビット#7

于 2010-07-09T22:02:51.803 に答える
0

P0.0 と P0.1 は、8 ビットの P0 レジスタの個々のビットのみを参照します (私が理解していることから)。

于 2010-06-19T03:25:18.837 に答える