瀏覽單個文章
alex1973
Regular Member
 

加入日期: Sep 2004
文章: 61
引用:
作者蒼藍的月光
大大感謝您的賜教,老實說小弟有在翻書了,可是有些問題就是搞不懂

如:

1.R0和R1可間接定址,那小弟如果想要讓R0和R1不間接定址,而直接使用常數
 
 值,可以嗎!?@_@!?

例如: R2,#30H==>這個是常數值
R0,#30H ==>這個是記憶體位址內容值

2.書本上說 20H~2FH可以位元定址

例: SETG 20H.2
CLR 20H.1

可是小弟看到師傅遺留下來的程式卻有

CLK1: REG 40H.0
CLK2: REG 40H.1
CLK3: REG 40H.2

.....!?@_@!?不是只有 20H~2FFH可以單獨設 20H.0;20H.1....2FH.7嗎!?@_@!?


1. 請參考 MOV 指令的說明, 這部份你的 8051 CPU 手策會有, 不然 Keil C/Assembly compiler 的 HLP 子目錄下頭有個 pdf 檔 (好像叫做 asm.pdf, 有點忘了) 也有列出所有共通的 8051 指令可以用的參數 (後面可以接的 direct data, Rn 或者立即值). 像這種類似問題, 一翻就都知道囉.

2. 哪些範圍的 direct data/SFR 可以用 bit 指令 (setc, clr) 存取, 請參考你 CPU 的手冊. Bit addressable 的 bit ram, 基本上是所有 8 的倍數 index 的 direct data 都可以這樣存取的.
舊 2006-07-24, 09:26 PM #37
回應時引用此文章
alex1973離線中