會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





instruction set - MOVWF
高級會員
註冊日期:
2014/09/29 12:04
所屬群組:
註冊會員
文章: 72
等級: 7; EXP: 40
HP : 0 / 160
MP : 24 / 1664
離線
各位好,小弟在看18F4520的instruction set,對於MOVWF這個指令的解說有點小小的疑問,如附檔的圖:

其中的Q Cycle Activity,在Q2的時候為什麼是read register 'f',應該是w吧?

附加檔案:



jpg  MOVWF.JPG (99.58 KB)
45509_5950a0fe13912.jpg 905X768 px

2017/06/26 13:51
轉換PDF檔 列印


Re: instruction set - MOVWF
資深會員
註冊日期:
2004/05/19 03:43
來自 台灣
所屬群組:
註冊會員
文章: 1748
等級: 35; EXP: 9
HP : 0 / 852
MP : 582 / 34665
離線
在 18f 系列, W 也是一個有暫存器位址 的 暫存器 ...


18F4520 : 0xFE8 --> WREG --> 就是 W




.

2017/06/26 19:11
轉換PDF檔 列印


Re: instruction set - MOVWF
資深會員
註冊日期:
2004/07/23 16:25
所屬群組:
註冊會員
文章: 1180
等級: 29; EXP: 96
HP : 0 / 724
MP : 393 / 29092
離線
為什麼 不是 read register 'w'

而是 read register 'f'?

這有什麼好懷疑的?

2017/06/26 20:49
轉換PDF檔 列印


Re: instruction set - MOVWF
新會員
註冊日期:
2017/06/27 14:43
所屬群組:
註冊會員
文章: 1
等級: 1; EXP: 0
HP : 0 / 0
MP : 0 / 0
離線
MOVWF 的功能是將W的值設定給F(暫存器)

但PIC的特性是所有的暫存器搬移都必須經過W,暫存器在寫入之前必須先讀出

所以說要將W的值設定給F,是不需要讀取W,反而要寫入F之前必須將F讀出.

不知道我這樣解釋對不對??

2017/06/27 16:09
轉換PDF檔 列印


Re: instruction set - MOVWF
資深會員
註冊日期:
2007/06/05 21:45
所屬群組:
註冊會員
文章: 964
等級: 27; EXP: 57
HP : 0 / 664
MP : 321 / 21103
離線
我的猜測....
read register f 是一個假動作...
它的目地就是 一個"定址"動作"而以...

MOVWF f{,a}

W -> f
W 是特殊暫存器,作用於ALU之中,是不用做讀寫動作
(當然 W register也是RAM register之一)
f 是放在 RAM 中, 必須要有定址行為.
於是在Q2,作了一個"無傷/無損害"的讀取動作,
來代替 "定址" f 動作.


所以 只要是 xxxx f 最後輸出到f,都會有一個"定址"動作

也就是
ADDWF,ANDWF,XORWF,...,MOVWF跟CLRF
都是同樣的處理動作...
只是 MOVWF跟CLRF的結果跟 f register 沒有關係...
讓你覺得 那個 read register f 怪怪的...
其實它就是一個"簡化"的行為
(讓它的"處理"行為跟其他指令行為一樣,不用多一個處理流程)

附加檔案:



jpg  MCU-ALU-Wreg.jpg (176.47 KB)
3491_595240d2de63f.jpg 1053X714 px

2017/06/27 19:26
轉換PDF檔 列印


Re: instruction set - MOVWF
高級會員
註冊日期:
2014/09/29 12:04
所屬群組:
註冊會員
文章: 72
等級: 7; EXP: 40
HP : 0 / 160
MP : 24 / 1664
離線
To Jason680:

謝謝這位大大的解釋,小弟目前還不了解定址的方式,故暫時沒辦法與您做深入的討論或者回應您,感謝您的回應,小弟會盡快補完相關資料並回覆您。

2017/06/28 11:02
轉換PDF檔 列印


Re: instruction set - MOVWF
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14262
等級: 72; EXP: 68
HP : 1075 / 1792
MP : 4754 / 73166
離線
引用:

firststop0 寫道:
To Jason680:

謝謝這位大大的解釋,小弟目前還不了解定址的方式,故暫時沒辦法與您做深入的討論或者回應您,感謝您的回應,小弟會盡快補完相關資料並回覆您。


雖然用組合語言的工程師已日漸少已,到它是了解 MCU 架構後才能夠撰寫的程式,直接又有速度上及 Code Size 的優勢。

建議可以看一下教育訓練教材: http://www.microchip.com.tw/Data_CD/

8-Bits MCU 相關課程 :
101ASP PIC16F系列基礎課程 (原W100)
102ASP PIC18F系列基礎課程 (原W400)
201ASP PIC16F887周邊應用
RELOCASM Re-Locatable MPASM
W201 PIC16F系列基礎課程

2017/06/28 13:05
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2018 Winter Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project