精華區beta Electronics 關於我們 聯絡資訊
一般講到『索引定址模式』(indexed addressing mode)ꄊ 舉例多半都是......... 『MOVC A, @A+DPTR』ꄊ why? 是這樣的組合語言"格式"叫......索引定址 還是.........? 我不明白!! 有沒有8051高手,可以解釋一下呢?感恩... -- ※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: 210-58-6-204.cm.dynamic.apol.com.tw > -------------------------------------------------------------------------- < 發信人: sushute.bbs@redbbs.cc.ntut.edu.tw (阿德), 看板: Electronics 標 題: Re: 為什麼舉這例子? 發信站: National Taipei University of Technology BB (Tue Jul 19 20:48:26 2005) 轉信站: ptt!ctu-reader!ctu-peer!Spring!news.nctu!news.ntu!news.ntut!redbbs 【 在 cuckoo691210.bbs@bbs.cs.nthu.edu.tw (小毛) 的大作中提到: 】 : 一般講到『索引定址模式』(indexed addressing mode)ꄊ: 舉例多半都是......... : 『MOVC A, @A+DPTR』ꄊ: why? : 是這樣的組合語言"格式"叫......索引定址 : 還是.........? : 我不明白!! : 有沒有8051高手,可以解釋一下呢?感恩... 假如說要把位在 A+DPTR 的資料丟入 A 中, 就可以使用 MOVC A , @A+DPTR; 其中 A 為 accumulator   DPTR 為 data pointer example: A的位址是3A,DPTR裡的資料是45,3A+45=7F, 那麼 MOVC A , @A+PDTR; 會將位在7F位址的內容丟入A中。 -- (\~~/) (~'.'~) (_y_)/) ※來源 : 台北科大計中紅樓資訊站 redbbs.cc.ntut.edu.tw ※FROM : 219.81.136.37 > -------------------------------------------------------------------------- < 發信人: cuckoo691210.bbs@bbs.cs.nthu.edu.tw (小毛), 看板: Electronics 標 題: Re: 為什麼舉這例子? 發信站: 清華資訊(楓橋驛站) (Tue Jul 19 20:59:29 2005) 轉信站: ptt!ctu-reader!ctu-peer!news.nctu!netnews.csie.nctu!news.cs.nthu!netne ※ 引述《sushute.bbs@redbbs.cc.ntut.edu.tw (阿德)》之銘言: > 【 在 cuckoo691210.bbs@bbs.cs.nthu.edu.tw (小毛) 的大作中提到: 】 > : 一般講到『索引定址模式』(indexed addressing mode)ꄊ> : 舉例多半都是......... > : 『MOVC A, @A+DPTR』ꄊ> : why? > : 是這樣的組合語言"格式"叫......索引定址 > : 還是.........? > : 我不明白!! > : 有沒有8051高手,可以解釋一下呢?感恩... > 假如說要把位在 A+DPTR 的資料丟入 A 中, > 就可以使用 MOVC A , @A+DPTR; > 其中 A 為 accumulator >   DPTR 為 data pointer > example: > A的位址是3A,DPTR裡的資料是45,3A+45=7F, > 那麼 MOVC A , @A+PDTR; > 會將位在7F位址的內容丟入A中。 感恩 我完全明白了.....^^ @A+DPTR 這樣的一個格式........叫做......索引定址 A <= memory(accumulator + data pointer) 是這樣嗎??? -- ※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: 210-58-6-204.cm.dynamic.apol.com.tw > -------------------------------------------------------------------------- < 發信人: sushute.bbs@redbbs.cc.ntut.edu.tw (阿德), 看板: Electronics 標 題: Re: 為什麼舉這例子? 發信站: National Taipei University of Technology BB (Tue Jul 19 23:28:20 2005) 轉信站: ptt!ctu-reader!ctu-peer!Spring!news.nctu!news.ntu!news.ntut!redbbs 【 在 cuckoo691210.bbs@bbs.cs.nthu.edu.tw (小毛) 的大作中提到: 】 : ※ 引述《sushute.bbs@redbbs.cc.ntut.edu.tw (阿德)》之銘言: : > 假如說要把位在 A+DPTR 的資料丟入 A 中, : > 就可以使用 MOVC A , @A+DPTR; : > 其中 A 為 accumulator : >   DPTR 為 data pointer : > example: : > A的位址是3A,DPTR裡的資料是45,3A+45=7F, : > 那麼 MOVC A , @A+PDTR; : > 會將位在7F位址的內容丟入A中。 : 感恩 我完全明白了.....^^ : @A+DPTR 這樣的一個格式........叫做......索引定址 : A <= memory(accumulator + data pointer) : 是這樣嗎??? 補充之前沒描述的... 稱為索引定址的原因如下: 以A的位址為準,DPTR裡的數字,這樣子使用會比較方便。 MOVC A,@A+DPTR; DPTR裡的數字是可以更改的,所以我們就以A的位址為準, 再加上DPTR的數字成為後來的位址,這個位址的內容在此時會被丟入A中。 -- (\~~/) (~'.'~) (_y_)/) ※來源 : 台北科大計中紅樓資訊站 redbbs.cc.ntut.edu.tw ※FROM : 219.81.136.37 > -------------------------------------------------------------------------- < 發信人: cuckoo691210.bbs@bbs.cs.nthu.edu.tw (小毛), 看板: Electronics 標 題: Re: 為什麼舉這例子? 發信站: 清華資訊(楓橋驛站) (Tue Jul 19 23:55:32 2005) 轉信站: ptt!ctu-reader!ctu-peer!news.nctu!news.csie.ncyu!news.cs.nthu!netnews. ※ 引述《sushute.bbs@redbbs.cc.ntut.edu.tw (阿德)》之銘言: > 【 在 cuckoo691210.bbs@bbs.cs.nthu.edu.tw (小毛) 的大作中提到: 】 > : 感恩 我完全明白了.....^^ > : @A+DPTR 這樣的一個格式........叫做......索引定址 > : A <= memory(accumulator + data pointer) > : 是這樣嗎??? > 補充之前沒描述的... > 稱為索引定址的原因如下: > 以A的位址為準,DPTR裡的數字,這樣子使用會比較方便。 ^^^^^^^^^^^^ > MOVC A,@A+DPTR; > DPTR裡的數字是可以更改的,所以我們就以A的位址為準, > 再加上DPTR的數字成為後來的位址,這個位址的內容在此時會被丟入A中。 你好 MOVC A,@A+DPTR <== 這為一個索引定址模式 那是不是意謂著.... 一個程式中 ,可以涵蓋......直接,間接,相對,立即,索引 的模式呢? 因為照你這樣講......... 似乎 定址模式 只是在對一些 組合語言敘述方式去取名稱而已 怎樣 跟 怎樣 情況下........這行程式......稱xx模式 是這樣嗎? 那麼,如果今天我手上有一個題目是 Design and Implement index addressing mode instruction code for 8-bit RISC microcontroller. 意思就是要我..... 做一個可以 Run 索引定址模式 這種...敘述格式的........微控制器?? 那........直接,間接,相對,立即 不能Run!!是吧? -- ※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: 210-58-6-204.cm.dynamic.apol.com.tw > -------------------------------------------------------------------------- < 發信人: sushute.bbs@redbbs.cc.ntut.edu.tw (阿德), 看板: Electronics 標 題: Re: 為什麼舉這例子? 發信站: National Taipei University of Technology BB (Wed Jul 20 20:44:12 2005) 轉信站: ptt!ctu-reader!ctu-peer!Spring!news.nctu!news.ntu!news.ntut!redbbs : 你好 : MOVC A,@A+DPTR <== 這為一個索引定址模式 : 那是不是意謂著.... : 一個程式中 ,可以涵蓋......直接,間接,相對,立即,索引 的模式呢? : 因為照你這樣講......... : 似乎 定址模式 只是在對一些 組合語言敘述方式去取名稱而已 : 怎樣 跟 怎樣 情況下........這行程式......稱xx模式 : 是這樣嗎? : 那麼,如果今天我手上有一個題目是 : Design and Implement index addressing mode instruction code for 8-bit : RISC microcontroller. : 意思就是要我..... : 做一個可以 Run 索引定址模式 這種...敘述格式的........微控制器?? : 那........直接,間接,相對,立即 不能Run!!是吧? 市面上大部分關於8051基礎的書都會描述這些定址法的差別, 這些用法都不太一樣,目的當然也不一樣。 建議可以到圖書館或書局翻一下。 因為我才識疏淺,只能模糊的敘述定址法。如果寫的不完整也請見諒。 定址法是指CPU存取資料的方法,可以分成五種: 1.直接定址法:用於內部的RAM和SFR ex: MOV A,7FH; 2.間接定址法:只使用在DPTR,R0,R1 reg.,這些reg.可以指向外部RAM ex: MOV R0,#7FH; ;記憶體位址7FH前要加# MOV A,@R0; ;將R0所指位址的值丟入A ;類似C的call by reference 3.相對定址法:用於A,B,C,D,R0~R7,......等reg. ex: MOV A,R0; 4.立即定址法:自己設定資料,將之丟入指定的位址中。 ex: MOV A,7FH; 5.引索定址法 ex: MOVC A,@A+DPTR; -- (\~~/) (~'.'~) (_y_)/) ※來源 : 台北科大計中紅樓資訊站 redbbs.cc.ntut.edu.tw ※FROM : 219.81.136.37 > -------------------------------------------------------------------------- < 發信人: cuckoo691210.bbs@bbs.cs.nthu.edu.tw (小毛), 看板: Electronics 標 題: Re: 為什麼舉這例子? 發信站: 清華資訊(楓橋驛站) (Thu Jul 21 20:14:17 2005) 轉信站: ptt!ctu-reader!ctu-peer!news.nctu!netnews.csie.nctu!news.cs.nthu!netne > 1.直接定址法:用於內部的RAM和SFR > ex: MOV A,7FH; > 2.間接定址法:只使用在DPTR,R0,R1 reg.,這些reg.可以指向外部RAM > ex: MOV R0,#7FH; ;記憶體位址7FH前要加# > MOV A,@R0; ;將R0所指位址的值丟入A > ;類似C的call by reference > 3.相對定址法:用於A,B,C,D,R0~R7,......等reg. > ex: MOV A,R0; > 4.立即定址法:自己設定資料,將之丟入指定的位址中。 > ex: MOV A,7FH; > 5.引索定址法 > ex: MOVC A,@A+DPTR; 你好 請教一下 下面程式中是不是間接定址法?可是它不是#也不是@,而是$ 是不是暫存器有很多表示方法,$也是一種呢? ldw $2, 3($1) 令外,請問一下..有所謂的..間接定址法 轉 引索定址法 嗎??? -- ※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: 210-58-6-204.cm.dynamic.apol.com.tw > -------------------------------------------------------------------------- < 發信人: cuckoo691210.bbs@bbs.cs.nthu.edu.tw (小毛), 看板: Electronics 標 題: Re: 為什麼舉這例子? 發信站: 清華資訊(楓橋驛站) (Thu Jul 21 20:42:13 2005) 轉信站: ptt!ctu-reader!ctu-peer!news.nctu!news.csie.ncyu!news.cs.nthu!netnews. >你好 >請教一下 >下面程式中是不是間接定址法?可是它不是#也不是@,而是$ >是不是暫存器有很多表示方法,$也是一種呢? >ldw $2, 3($1) >令外,請問一下..有所謂的..間接定址法 轉 引索定址法 嗎??? ㄚ~~我剛查了一下 ldw $2, 3($1) memory(1)位移三個 = memoey(4) memory(4)讀入R2 $ 到底是記憶體還是暫存器呀? -- ※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: 210-58-6-204.cm.dynamic.apol.com.tw > -------------------------------------------------------------------------- < 作者: TripleC ( 沈默...是真神 ) 看板: Electronics 標題: Re: 為什麼舉這例子? 時間: Fri Jul 22 00:54:47 2005 ※ 引述《cuckoo691210.bbs@bbs.cs.nthu.edu.tw (小毛)》之銘言: : >你好 : >請教一下 : >下面程式中是不是間接定址法?可是它不是#也不是@,而是$ : >是不是暫存器有很多表示方法,$也是一種呢? : >ldw $2, 3($1) : >令外,請問一下..有所謂的..間接定址法 轉 引索定址法 嗎??? : ㄚ~~我剛查了一下 : ldw $2, 3($1) : memory(1)位移三個 = memoey(4) : memory(4)讀入R2 : $ 到底是記憶體還是暫存器呀? register -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 24.205.183.212