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


Browsing this Thread:   1 Anonymous Users






Re: C30 C中內嵌ASM的疑問
#3
初級會員
初級會員


查看用戶資訊
"divf %1,%2\n\t"
"mov w0,%0"
: /* output */ "=g"(Measure)
: /* input */ "r"(up),
"e"(down)
: /* clobber */ "w0");



但是當中的"=g" "r" "e" 等指令卻不好理解


發表於: 2006/1/4 16:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: C30 C中內嵌ASM的疑問
#2
管理員
管理員


查看用戶資訊

您所提到的內嵌式組合語言寫法, 意義大致如下 :

因為要做 Measure = up/down ; 所以當然要完成 up/down 後指定給 Measure 啦 .

__asm__ volatile ( ) ; 宣告了一個不會被最佳化程序省略的組合語言區塊 .

repeat #17
divf Wm,Wn

用來完成除法 , 在此的 %1 , %2 代表第二與第三個參數 ( up , down )

mov w0, %0

用來將商存到第一個參數 ( Measure )

每行的 \n\t , 是用來做換行以及加入 TAB 的控制字元而已.

語法是定出來的 , 因為 C30 是 GNU Base 的 C Compiler , 所以命令及語法也都依據 GNU 的定義 . 所以忍耐一下啦 !

Best Regards,


發表於: 2006/1/4 15:19
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


C30 C中內嵌ASM的疑問
#1
初級會員
初級會員


查看用戶資訊
在c30中,假設我要在c中嵌入一段以asm語法來執行

Measure=up/dowm;

的16bit有號數運算以提升效率,
則我做以下寫法:



signed int Measure, up, down;



__asm__ volatile("repeat #17\n\t"
"divf %1,%2\n\t"
"mov w0,%0"
: /* output */ "=g"(Measure)
: /* input */ "r"(up),
"e"(down)
: /* clobber */ "w0");


請問上面的語法要做如何解適較合理,
又,
C30中對這種語法的建構似乎太過難懂,
應該有改善的空間吧?

發表於: 2006/1/4 9:01
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... ]

教育訓練中心

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