• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::


Browsing this Thread:   1 Anonymous Users






Re: 請問如何寫出將後面資料往前移動的程式呢?
#5
資深會員
資深會員


查看用戶資訊
Re: 請問如何寫出將後面資料往前移動的程式呢?

這是 PIC16 的寫法 : 因不知道主架構 所以沒有驗證 僅供參考....


BSF IS_LOW_BYTE ; bit 變數
MOVLW DEL_ADDRESS + 2 ; 資料來源
MOVWF FSR
LOOP_1:
MOVF INDF , W ; 取得資料
DECF FSR , F ;
DECF FSR , F ; 資料目的地
MOVWF INDF ; 放下 資料
INCF FSR , F
INCF FSR , F
BTFSS IS_LOW_BYTE
GOTO NEXT_WORD
BCF IS_LOW_BYTE
INCF FSR , F
GOTO LOOP_1

NEXT_WORD:
MOVLW LAST_RECORD
SUBWF FSR , W
BTFSC STATUS , C
GOTO TO_END ; 已是 最後一筆
INCF FSR , F ; 到下一筆
BSF IS_LOW_BYTE
GOTO LOOP_1

TO_END:

............................


發表於: 2007/5/5 13:59
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何寫出將後面資料往前移動的程式呢?
#4
資深會員
資深會員


查看用戶資訊
先設定要刪除資料的位置DEL_ADDRESS
MOVLW 110H
SUBWF DEL_ADDRESS,F
BC STATUS,C
RRF DEL_ADDRESS,W
ADDWF PCL,F
GOTO DEL1
GOTO DEL2
...
GOTO DEL7
GOTO DEL8

DEL1:
MOVF 112H,W
MOVWF 110H
MOVF 113H,W
MOVWF 111H

DEL2:
MOVF 114H,W
MOVWF 112H
MOVF 115H,W
MOVWF 113H
...
...
DEL7:
MOVF 11EH,W
MOVWF 11CH
MOVF 11FH,W
MOVWF 11DH

DEL8:
CLRF 11EH
CLRF 11FH

結束

發表於: 2007/5/4 9:10
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何寫出將後面資料往前移動的程式呢?
#3
資深會員
資深會員


查看用戶資訊
不就 14個byte搬移

movfw  0x112
movwf      0x110
movfw  0x113
movwf      0x111
movfw  0x114
movwf      0x112
movfw  0x115
movwf      0x113
movfw  0x116
movwf      0x114
movfw  0x117
movwf      0x115
movfw  0x118
movwf      0x116
movfw  0x119
movwf      0x117
movfw  0x11a
movwf      0x118
movfw  0x11b
movwf      0x119
movfw  0x11c
movwf      0x11a
movfw  0x11d
movwf      0x11b
movfw  0x11e
movwf      0x11c
movfw  0x11f
movwf      0x11d

共28cycle 就搞定了,不用動什麼腦筋

發表於: 2007/5/2 17:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何寫出將後面資料往前移動的程式呢?
#2
版主
版主


查看用戶資訊
利用 INCF FSR,F 或 DECF FSR,F 的方式將所指到刪除的為止左指標加一減一的調整。或使用兩個 RAM 來當Index 配合 FSR 來做刪除與移位的調整。劃一下流程圖推推看邏輯是否成立後再寫程式。

發表於: 2007/5/2 15:27
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請問如何寫出將後面資料往前移動的程式呢?
#1
初級會員
初級會員


查看用戶資訊
想要請問各位,當我有一串數據資料從位址110H~120H儲存,每個位址內資料是8bit型態,所以我要先將IRP設為1才可以使用100H之後的記憶體空間。而HighByte & LowByte才會等於我一筆數據。如果今天我隨意查看我存於RAM中的資料時,當我想要刪掉任何一筆資料的時候,後面的資料會全部往前做搬動動作,就是當我將第一筆數據刪除,就是110H-lowbyte和111H-highbye兩個位址上的資料刪掉,而原先的112H內的資料就往前移至110H內,而113H內的資料就往前移至111H內。請問這樣我要怎麼樣寫呢!
請各位能給我意見!謝謝囉!

想要再請問!
當我將IRP=1時,利用FSR和IND將資料放入IND中,那我要怎麼又將IND中的資料移到Work位址內呢?
謝謝

發表於: 2007/5/2 14:17
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... ]

教育訓練中心

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