• slider image 514
  • slider image 516
  • slider image 517
  • slider image 518
  • slider image 519
:::


Browsing this Thread:   3 Anonymous Users






Re: 組合語言寫 SWITCH---CASE
#7
高級會員
高級會員


查看用戶資訊
16的指令 沒有 SKPC跟SKPNC
可以用 BTFSS STATUS,C跟BTFSC STATUS,C 代替
換頁一直是16的大問題,不光在這裡,其他地方也是要小心
實用技巧要靠自己去修練
右邊江湖一點訣裡面有一個方法可以參考
http://www.microchip.com.tw/16C57tip.doc

發表於: 2006/6/25 9:40
微電腦自動控制設計,產品製造
才疏學淺,若有錯誤敬請指正
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 組合語言寫 SWITCH---CASE
#6
初級會員
初級會員


查看用戶資訊
抱歉,我看過16f87x的datasheet裡面好像都沒介紹到skpc與skpnc這兩個指令,不曉得,要是運用在16的ic上,應該會有問題吧?
另外一點,是不是這樣子就要運用到某些記憶體來記錄一些要跑的程式的頁面呢,再以這個記錄當準備要呼叫超過頁面的時候,再先前先將之頁面數值先放入Pclath裡,以免跳錯頁

發表於: 2006/6/24 16:35
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 組合語言寫 SWITCH---CASE
#5
資深會員
資深會員


查看用戶資訊
試試這樣的寫法,這是16的寫法,18應該也能套用,視邊界如無物,index 超過1byte也能處理,浪費點空間,換來無限的應用

Movfw    Index
    Sublw    Table_
-Table-1
    Skpc
    Clrf    Index    
;Out Of Table

    Movlw    High Display_Table
    Movwf    Pclath
    Movlw    Low  Display_Table
    Addwf    Index
,W
    Skpnc
    Incf    Pclath
,F
    Movwf    Pcl
Table
    
Goto    Table_0X00
    
Goto    Table_0X01
    
Goto    Table_0X02
Table_

發表於: 2006/6/22 13:51
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 組合語言寫 SWITCH---CASE
#4
版主
版主


查看用戶資訊
沒錯就是這樣子,如果 GOTO 改為 BRA 那就更點一些了。

注意Jump Table 的起始位址最好是從 0xn00的邊界開始,要是ADDWF PCL,F 超過0xFF 的邊界點時那會天下大亂的。

發表於: 2006/6/21 17:05
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 組合語言寫 SWITCH---CASE
#3
高級會員
高級會員


查看用戶資訊
多謝版大,了解了

把PCH 跟PCL 分開處理就對了
一個GOTO,4BYTE,INDEX 左移2次,加進去起始值



發表於: 2006/6/20 18:26
微電腦自動控制設計,產品製造
才疏學淺,若有錯誤敬請指正
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 組合語言寫 SWITCH---CASE
#2
版主
版主


查看用戶資訊
list     18F452
            
include <p18F452.inc>

Index        equ        0x00

            org        0x0000         
;  
             
bra        Main
;
Main
            movlw    .2
            movwf    Index
;
            
movlw    high Jump_Table
            movwf    PCLATH
            rlncf     Index
,F
            rlncf     Index
,W
            call    Jump_Table
Loop_here    
goto    Loop_here
;
            
org        0x0100        確定起始位址必須從0xnn00的起始位址,以避免相加後的位址超過0xFF
Jump_Table
:
            
addwf    PCL,F
            
goto    Tab_0
            
goto     Tab_1
            
goto    Tab_2
            
goto    Tab_3
            
goto     Tab_4
            
goto    Tab_5
;

Tab_0        movlw    .0
            
return
Tab_1        movlw    .1
            
return
Tab_2        movlw    .2
            
return
Tab_3        movlw    .3
            
return
Tab_4        movlw    .4
            
return
Tab_5        movlw    .5
            
return
;
        
               
END

發表於: 2006/6/20 17:53
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


組合語言寫 SWITCH---CASE
#1
高級會員
高級會員


查看用戶資訊
請問我用18F組合語言,要寫JMP TABLE
有範例可以參考嗎

發表於: 2006/6/20 9:59
微電腦自動控制設計,產品製造
才疏學淺,若有錯誤敬請指正
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------