切换到宽版
  • 2135阅读
  • 23回复

[STM]Cortex-M3 的指令机制真实有毒 [复制链接]

上一主题 下一主题
离线jcdzxh

发帖
1392
M币
8496
专家
9
粉丝
49
只看该作者 10楼 发表于: 07-09
大于等于 cf=1,算坑么
离线la45088d1

发帖
957
M币
782
专家
8
粉丝
27
只看该作者 11楼 发表于: 07-09
回 南天音乐 的帖子
南天音乐:佩服楼主钻研的精神,赞一个。不过楼主既然那么热衷于芯片架构和底层汇编系统,应该以开发一套自主RTOS为目标吧[表情]  (2018-07-09 16:24) 回 南天音乐 的帖子

我现在在做的是独立于编译器自己实现 浮点数的基本运算,加减乘除,单双精度互转,整数浮点互转的算法。     这些实现这些算法和实现常规的任务不同。首先,必须100%可靠,完全没有任何Bug,其次必须尽可能符合IEEE754标准。还有在占用空间尽可能小的情况下运算速度必须无条件快,必要时牺牲空间换取时间。 反正写着部分我还算是比较严谨的啦,花了一年时间来来回回改了不知多少次。  就为了所谓速度和空间,还为了稳健,你就必须不停的用技巧去精简你的算法,所以对于指令集的特性还有每一种可能性都要尽可能搞清楚,不然没准哪天就出Bug了。
时光荏苒 轮回不止 不变的是您的容颜
图森图破 按目安轨 难忘的是您的黑框
游历八方 谈笑风生 羡慕的是您的自信
福祸如一 生死相随 坚守的是您的信念

苟利国家生死以 岂因祸福避趋之 垂死病中惊坐起 谈笑风生又一年--- The real fans
离线la45088d1

发帖
957
M币
782
专家
8
粉丝
27
只看该作者 12楼 发表于: 07-09
回 南天音乐 的帖子
南天音乐:佩服楼主钻研的精神,赞一个。不过楼主既然那么热衷于芯片架构和底层汇编系统,应该以开发一套自主RTOS为目标吧[表情]  (2018-07-09 16:24) 回 南天音乐 的帖子

至于OS早就想搞了,我现在手头有五六本关于ARM的汇编教材,还有两本关于操作系统的设计,电子版的相关书也有一些,当然ST的资料和ARM的资料也必不可少的。

等我弄懂足够的知识后,OS设计可以开始了,当然OS希望是全ASM的,不过也不会太复杂,基本功能有就行。
时光荏苒 轮回不止 不变的是您的容颜
图森图破 按目安轨 难忘的是您的黑框
游历八方 谈笑风生 羡慕的是您的自信
福祸如一 生死相随 坚守的是您的信念

苟利国家生死以 岂因祸福避趋之 垂死病中惊坐起 谈笑风生又一年--- The real fans
离线la45088d1

发帖
957
M币
782
专家
8
粉丝
27
只看该作者 13楼 发表于: 07-09
回 apple1999 的帖子
apple1999:
我没看太懂,有下面几个链接你看一下,有可能有帮助吧。
http://www.keil.com/support/man/docs/armasm/armasm_dom1361289884183.htm
这个是Keil的文档,里面有说[图片] 回 apple1999 的帖子

老哥注意第二段话:“能更新标志位C在操作数二计算的时候”,没错,根据实验结果我现在可能懂他想说什么。不过如果你什么都不知道,估计你根本看不懂啥意思。ORR是计算操作数一和二结果,但是操作数二是立即数,计算的是它们两个的结果,而不是操作数二的计算,立即数有什么可计算的,反正我还是觉得这个描述完全可以把人搞蒙。 我觉得应该这样描述:标志位C根据操作数二的特点更新。不过就算是这样,立即数第31位是不是1跟是否会导致进位没毛线关系吧?C是进位和借位标志老哥,怎么解释?  坑就坑在描述非常不详细或者有歧义,然后特殊情况根本没有例子参考。
时光荏苒 轮回不止 不变的是您的容颜
图森图破 按目安轨 难忘的是您的黑框
游历八方 谈笑风生 羡慕的是您的自信
福祸如一 生死相随 坚守的是您的信念

苟利国家生死以 岂因祸福避趋之 垂死病中惊坐起 谈笑风生又一年--- The real fans
离线la45088d1

发帖
957
M币
782
专家
8
粉丝
27
只看该作者 14楼 发表于: 07-09
回 jcdzxh 的帖子
jcdzxh:大于等于 cf=1,算坑么 (2018-07-09 17:24) 回 jcdzxh 的帖子

不不不,C=1可以判断大于等于,但是决定C的是进位和借位是否发生。
逻辑运算不是加减运算,并不存在进位和借位。而且立即数的31位比特值和进位借位并没有什么关系。而且,的更新C只对含立即数的指令有效,对寄存器和寄存器之间的操作无效。这就比较迷了。
时光荏苒 轮回不止 不变的是您的容颜
图森图破 按目安轨 难忘的是您的黑框
游历八方 谈笑风生 羡慕的是您的自信
福祸如一 生死相随 坚守的是您的信念

苟利国家生死以 岂因祸福避趋之 垂死病中惊坐起 谈笑风生又一年--- The real fans
离线mzhboy

发帖
354
M币
786
专家
1
粉丝
14
只看该作者 15楼 发表于: 07-09
唉,都有库了,做这么底层的真的有必要?
离线la45088d1

发帖
957
M币
782
专家
8
粉丝
27
只看该作者 16楼 发表于: 07-09
回 mzhboy 的帖子
mzhboy:唉,都有库了,做这么底层的真的有必要? (2018-07-09 19:37) 回 mzhboy 的帖子

开心就好,一天写出来和一个月写出来其实没有区别。情怀,懂不懂?
时光荏苒 轮回不止 不变的是您的容颜
图森图破 按目安轨 难忘的是您的黑框
游历八方 谈笑风生 羡慕的是您的自信
福祸如一 生死相随 坚守的是您的信念

苟利国家生死以 岂因祸福避趋之 垂死病中惊坐起 谈笑风生又一年--- The real fans
离线jcdzxh

发帖
1392
M币
8496
专家
9
粉丝
49
只看该作者 17楼 发表于: 07-10
别家都是小于CF置1,而他家是CF=0
曾经坑过我半天,还是怪自己没认真看手册,想当然了
离线qd0426

发帖
1103
M币
1652
专家
39
粉丝
33
只看该作者 18楼 发表于: 07-11
回 jcdzxh 的帖子
jcdzxh:别家都是小于CF置1,而他家是CF=0
曾经坑过我半天,还是怪自己没认真看手册,想当然了 (2018-07-10 12:06) 回 jcdzxh 的帖子

除了8051是小于CF=1,其他的我没见过是小于CF=1的。
我觉得ARM公司不会错
离线jcdzxh

发帖
1392
M币
8496
专家
9
粉丝
49
只看该作者 19楼 发表于: 07-11
回 qd0426 的帖子
qd0426:除了8051是小于CF=1,其他的我没见过是小于CF=1的。
我觉得ARM公司不会错 (2018-07-11 08:58) 回 qd0426 的帖子

好吧,看STM8的比较动作,
CP dst ,src
src大于dst,C=1
来源PM0044,我就不截图了
看来也是整反了
照理解,C是进位标志,不够减产生进位置1
C51,STM8都和ARM是反的