打印
[PIC®/AVR®/dsPIC®产品]

求解释PIC汇编指令

[复制链接]
1356|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fcw|  楼主 | 2016-6-14 14:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 fcw 于 2016-6-14 14:08 编辑

    __asm__ volatile("repeat #17\n\t"
                     "divf %1,%2\n\t"
                     "mov w0,%0" : /* output */ "=g"(MeasuredSpeed)
                     : /* input */ "r"(_MINPERIOD),
                     "e"(Period)
                     : /* clobber */ "w0");
谁能看懂上面的代码的,请教了。
沙发
JY-DX-JY| | 2016-6-14 14:47 | 只看该作者
那个系列的?貌似不是16的

使用特权

评论回复
板凳
NE5532| | 2016-6-14 15:29 | 只看该作者
你确认这个是汇编指令?

使用特权

评论回复
地板
胖头鱼2016| | 2016-6-14 15:36 | 只看该作者
坐看大神解答

使用特权

评论回复
5
fcw|  楼主 | 2016-6-14 17:41 | 只看该作者
PIC33FJ128的,肯定是汇编。编译也可以通过。

使用特权

评论回复
6
JY-DX-JY| | 2016-6-14 19:07 | 只看该作者
fcw 发表于 2016-6-14 17:41
PIC33FJ128的,肯定是汇编。编译也可以通过。

手册上应该有汇编指令说明吧
33没用过

使用特权

评论回复
7
zhanzr21| | 2016-6-15 14:45 | 只看该作者
這個是GCC的inline assemble寫法, 跟常見的intel格式有點區別, 你先翻成intel格式的就看得很明白了
這是格式參考:
http://locklessinc.com/articles/gcc_asm/

你那段意思是做除法, 具體意思跟你變量定義有關,
你查查 這幾个變量在執行前後的變化就知道了
MeasuredSpeed
_MINPERIOD
Period

使用特权

评论回复
8
fcw|  楼主 | 2016-6-15 17:38 | 只看该作者
确实是GCC_ASM写法,有兴趣的还可以参考http://blog.chinaunix.net/uid-24585655-id-2125525.html

使用特权

评论回复
9
fcw|  楼主 | 2016-6-15 17:51 | 只看该作者
__asm__ volatile(
                       "repeat #17\n\t"
                       "divf %1,%2\n\t"
                       "mov w0,%0" :  "=g"(MeasuredSpeed) :  "r"(_MINPERIOD),
                       "e"(Period) :  "w0"
                       );

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

fcw

21

主题

66

帖子

1

粉丝