會員登陸
帳號:

密碼:

記住我



忘記密碼?

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


正在流覽:   1 名訪客





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

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

附加檔案:



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

6月26日 13:51:58
轉換PDF檔 列印


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


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




.

6月26日 19:11:52
轉換PDF檔 列印


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

而是 read register 'f'?

這有什麼好懷疑的?

6月26日 20:49:52
轉換PDF檔 列印


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

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

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

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

6月27日 16:09:30
轉換PDF檔 列印


Re: instruction set - MOVWF
資深會員
註冊日期:
2007/06/05 21:45
所屬群組:
註冊會員
文章: 948
等級: 27; EXP: 37
HP : 0 / 659
MP : 316 / 20174
離線
我的猜測....
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

6月27日 19:26:58
_________________
程式是
依照寫出來(的code),跑出結果
不是依照你想出來的,得到結果

先有需求規格 後有解決方案
轉換PDF檔 列印


Re: instruction set - MOVWF
中級會員
註冊日期:
2014/09/29 12:04
所屬群組:
註冊會員
文章: 65
等級: 6; EXP: 95
HP : 0 / 148
MP : 21 / 1371
離線
To Jason680:

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

6月28日 11:02:23
轉換PDF檔 列印


Re: instruction set - MOVWF
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14156
等級: 72; EXP: 52
HP : 1072 / 1788
MP : 4718 / 70878
在線上
引用:

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系列基礎課程

6月28日 13:05:35
轉換PDF檔 列印






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

[進階搜尋]


搜尋
Microchip連結

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