打印
[STM32]

请教如下STM32F103汇编代码完成什么功能?

[复制链接]
1197|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sunwave|  楼主 | 2014-6-20 15:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sunwave 于 2014-6-20 23:00 编辑

CLR R23
CLR R22
CLR R21
LDI  R20 0X64

CLR R19
CLR R18
LDI R17  0X** ; 某个16进制数据
LDI R16 0X**;某个16进制数据

CLR R12
LDR R30  0X28

LA1:
        LSL R16
        ROL R17
        ROL R18
        ROL R19
        ROL R7
        ROL R8
        ROL R9
        ROL R10
        ROL R11
        CP R8,R24
        CPC R9,R25
        CPC R10,R26
         CPC  R11,R27
         BRCS LA2
         SUB R8 ,R24
         SBC R9,R25
         SBC R10,R26
         SBC R11,R27
         INC R16
LA2:
          DEC R30
          BRNE LA1

相关帖子

沙发
airwill| | 2014-6-20 21:59 | 只看该作者
这明摆着是 AVR 的代码, 怎么说是 STM32F103汇编代码?
看着 32 位数的移位, 比较, 相减. 不能确定是干什么的. 要用 STM32 可简单多了.

使用特权

评论回复
板凳
sunwave|  楼主 | 2014-6-20 22:58 | 只看该作者
嗯,楼上是高手,由于同时在看两个汇编程序,一个是ATMEGA16L,一个是STM32F103,所以不小心搞混了。可是上面这个循环移位,到底要实现一个什么功能,怎么也看不出来哦!

使用特权

评论回复
地板
sunwave|  楼主 | 2014-6-20 22:59 | 只看该作者
楼上说STM32F103的汇编比AVR的简单?

使用特权

评论回复
5
sunwave|  楼主 | 2014-6-22 07:54 | 只看该作者
路过的高手指点一下哦

使用特权

评论回复
6
cool_coder| | 2014-6-28 22:35 | 只看该作者
本帖最后由 cool_coder 于 2014-6-28 23:06 编辑

看起来像是整数除法:R16~R19中是被除数,执行结束后是商。R24~R27中是除数,R8~R11中是余数。不过程序看起来有点奇怪,R20~R23一直没用到,R7显得多余,R12后来也没用到;另外,R7~R11为什么没有初始清零呢?

使用特权

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

本版积分规则

43

主题

154

帖子

5

粉丝