全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1946
推到 Plurk!
推到 Facebook!

關於8051的定址問題

答題得分者是:mymj
fond147
一般會員


發表:11
回覆:4
積分:3
註冊:2004-07-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-10 15:31:38 IP:140.118.xxx.xxx 未訂閱
請問各位賢拜 什麼是>>直接定址 間接定址 位元組定址 可位元定址
mymj
版主


發表:132
回覆:486
積分:608
註冊:2002-10-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-10 18:33:24 IP:203.67.xxx.xxx 未訂閱
這麼簡單的問題應該找任何一本8051有關的書籍都會告訴你,還是多看一下書吧 8051有5種定址方式:直接定址,間接定址,暫存器定址,立即定址,索引定址 直接定址:在運算元欄中直接指定資料所在位址 例如38H記憶位址內容為68H mov a,38H 將38H所指位址的內容載入ACC本指令執行後A=68H 間接定址:在運算元欄中使用到R0,R1,SP,DPTR等暫存器,而要存取記憶體內容在指定記憶位址如用到R0,R1,SP,DPTR等暫存器其字首加上@,這些暫存器得內容就是運算元的位址 例如38H記憶位址內容為68H,2238H內容為77H(2238H是外部記憶體) MOV R0,#38H 立即定址 MOV A,@R0 間接定址 執行後A=68H CLR A MOV DPTR,#2238H MOVX A,@DPTR 間接定址 執行後A=77H 暫存器定址:在運算元欄中使用到暫存器庫(BANK0~BANK3)中的暫存器(R0~R7)就是暫存器定址 MOV A,R2 MOV A,R0 立即定址:在運算元欄中使用的資料放在指令中的定址方式.所有立即資料需加#字頭 MOV A,#33H MOV R0,#28H 索引定址:將基底暫存器(PC,DPTR)的內容加上索引暫存器(ACC)2的內容得到1個新的值,此值就是運算元所在的位址 例2238H內容為77H(2238H是外部記憶體) MOV A,#38H MOV DPTR,#2230H MOVC A,@A DPTR 執行後A=77H MYMJ
kidspjjuly
一般會員


發表:12
回覆:10
積分:4
註冊:2004-05-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-03 08:34:38 IP:140.132.xxx.xxx 未訂閱
MOV A,#38H MOV DPTR,#2230H 這兩行的位址加起來不是 2238H 應該是筆誤
系統時間:2024-05-01 2:27:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!