一般講到『索引定址模式』(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