永发信息网

汇编语言运行时间问题(MSP430)

答案:2  悬赏:0  手机版
解决时间 2021-02-11 21:54
硬件环境:MSP430
软件环境:IAR
最近在用MSP430测试汇编运行时间的时候发现了问题:
程序段一:
Mainloop xor.b #002h,&P5OUT ; Toggle P5.1
jmp Mainloop ; Again
程序段二:
mov.b #002h,R15 ;
Mainloop xor.b R15,&P5OUT ; Toggle P5.1
jmp Mainloop ; Again

两端程序的P5.1口测频率结果是 12cycles,但是手册上说Rn 至 &EDE要4个cycles而#N 至 &EDE要5个cycles,jump要用2个cycles,那么,程序段一:(4+2)*2 = 12,程序段二: (5+1)*2 = 14.

请高手不吝赐教,谢谢。

MSP430汇编语言中不同操作指令,相同类型的地址模式,指令运行的时间都一样吗?
另外,在IAR中,软件仿真中如何得到精确的指令时间计算?
利尔达的说明和官方的说明都很少有介绍这个方面的内容,我怀疑是IAR进行了优化,但是不知道在哪里更改?
最佳答案
指令运行的时间不一样

精准定时CPU_F是晶振频率
#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) //x us
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) /// x ms
全部回答
#pragma vector是固定在程序中的格式,后面接的是中端向量地址wdt_vector 这使开门狗中端,如果是定时器a/b中端那向量就是timera1_vector (timerb1_vector ) 如果是a/d转换完成中端sd16_vector如果是端口一中端那向量就是port1_vector。 __interrupt void watchdog_timer(void) 这句话除了watchdog_timer是自己定义的函数名外(自己定义的)其他是固定的(当然void参数可以是int或者其他的double等等)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
游戏无法自动更新怎么解决
雏牧香冷鲜肉相比其他的冷鲜肉有什么优势吗?
横排厂地址在哪,我要去那里办事
我下的合金弹头为什么一加载游戏它就自己运行
挫折也是一种财富 集古、今、中、外、名人的
两个人围着一棵青草一个人手里拿着一把刀
支气管扩张,常表现为A.指关节梭状畸形B.杵状
枣矿集团住房公积金可以在滕州提吗
四平市房屋交易和产权管理中心这个地址在什么
星座运势网站
谁能告诉我制药企业工程部具体分哪些岗位,越
将重2N的木块放入烧杯中,静止时木块所受浮力
儒家商务宾馆在什么地方啊,我要过去处理事情
微信身份认证注销了,原来的二维码还能用吗
半永久眉毛刚做一天怎么洗
推荐资讯
多吃红枣,会对心脏有什么影响?有害吗??
qq后下线显示离线,为什么不是离线请留言
028 6836 5879是什么电话3个未接 回拨过去是
圣安地列斯怎样做地铁
调皮王妃在什么台演播
小茹和小黄狗小说全文
求一款电脑上用的在线读书软件!
请前辈告诉汽车销售方面的英语专业术语,我为
列竖式计算题32x25=?
大四工业园在哪里啊,我有事要去这个地方
求雪之女王 韩剧百度云资源 要有字幕的
大富村地址有知道的么?有点事想过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?