[PIC®/AVR®/dsPIC®产品] 求解释PIC汇编指令

[复制链接]
1913|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 | 显示全部楼层
坐看大神解答
 楼主| fcw 发表于 2016-6-14 17:41 | 显示全部楼层
PIC33FJ128的,肯定是汇编。编译也可以通过。
JY-DX-JY 发表于 2016-6-14 19:07 | 显示全部楼层
fcw 发表于 2016-6-14 17:41
PIC33FJ128的,肯定是汇编。编译也可以通过。

手册上应该有汇编指令说明吧
33没用过
zhanzr21 发表于 2016-6-15 14:45 | 显示全部楼层
這個是GCC的inline assemble寫法, 跟常見的intel格式有點區別, 你先翻成intel格式的就看得很明白了
這是格式參考:
http://locklessinc.com/articles/gcc_asm/

你那段意思是做除法, 具體意思跟你變量定義有關,
你查查 這幾个變量在執行前後的變化就知道了
MeasuredSpeed
_MINPERIOD
Period
 楼主| fcw 发表于 2016-6-15 17:38 | 显示全部楼层
确实是GCC_ASM写法,有兴趣的还可以参考http://blog.chinaunix.net/uid-24585655-id-2125525.html
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部