找回密码
 注册
关于网站域名变更的通知
查看: 172|回复: 2
打印 上一主题 下一主题

单片机intrins.h文件如何修改?可以循环移动4个字节的数据

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-12-3 10:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
intrins.h 这个文件,_crol_ 只能操作unsigned char 的数据,我想循环移动4个字节的数据,请问一下这个intrins.h 文件怎么改呢?还要改别的文件吗?, @3 O# {. B( G, h, B6 B5 W& w
/*--------------------------------------------------------------------------
- @  w$ E6 H; J  eINTRINS.H9 N+ o" o0 U& r' g6 E

! i9 v7 e0 O0 {  ~Intrinsic functions for C51.  p) r# h% v4 c+ }
Copyright (c) 1988-2010 Keil Elektronik GmbH and ARM Germany GmbH8 ~4 e" ?1 g2 @& u: `- X
All rights reserved.
) S6 b; ?# b) N- i: `--------------------------------------------------------------------------*/+ o! l- G9 d1 V' M; v
. p7 Y* D4 F6 C/ M/ m+ w/ J+ o6 ^
#ifndef __INTRINS_H__
# p4 g! l3 L0 X) u5 ~#define __INTRINS_H__* @! }9 _4 X! }& l5 e; u, b
0 p0 o4 M- `# f
#pragma SAVE$ {  k6 X$ \1 S" t6 \9 i/ o

# c, H7 ]- x: B$ s$ }- V$ K#if defined (__CX2__)9 I4 T2 I- Q' I! I- [
#pragma FUNCTIONS(STATIC)) c6 Y# K5 M  x1 o
/* intrinsic functions are reentrant, but need static attribute */
- }* x6 }6 G+ {# ~- q; R#endif
6 s! l9 ~! n4 ?, W' p1 ^* {7 z8 t
- y/ k2 J3 M0 \  Q( |extern void          _nop_     (void);' `$ Z# u: q) }+ i2 {1 A
extern bit           _testbit_ (bit);8 N, U* @) \* Z
extern unsigned char _cror_    (unsigned char, unsigned char);5 ^( g' m+ f: S% x
extern unsigned int  _iror_    (unsigned int,  unsigned char);
. Y7 u6 h: v! x& b3 B3 c+ x! yextern unsigned long _lror_    (unsigned long, unsigned char);
  R  N  r1 @% p8 J- E4 }; gextern unsigned char _crol_    (unsigned char, unsigned char);' t: L( a- Z  d1 G
extern unsigned int  _irol_    (unsigned int,  unsigned char);
' ~- l3 T! x6 o+ w' }9 n+ s& K8 A/ C1 wextern unsigned long _lrol_    (unsigned long, unsigned char);
0 E0 y! i7 ~$ }( C; w- F0 Fextern unsigned char _chkfloat_(float);
' c) t1 e, A- U3 {#if defined (__CX2__)" D5 N4 Q+ X9 g, U% L
extern int           abs       (int);1 w$ `1 `" L% [- Z7 m* g" t- A
extern void          _illop_   (void);
: O7 @2 I+ C6 D$ F#endif
. Z/ P* S- C. @#if !defined (__CX2__)
& d) y6 f1 `$ N# Gextern void          _push_    (unsigned char _sfr);
1 S2 k: x# r/ [, Q3 n( jextern void          _pop_     (unsigned char _sfr);9 N) H; H. E) I" [
#endif
8 e* [+ }# T+ @1 y" Q, T1 |" u# G- Q3 d5 F# T
#pragma RESTORE' q' j# w2 y7 r0 ]

+ B. \# c2 _4 t" Y#endif
/ p/ T& _* A; N2 q) L5 F$ _7 ^5 [+ p  s( d; x/ D
1 c$ @- w8 N7 p: G+ j# f# e9 r

该用户从未签到

2#
发表于 2021-12-3 10:49 | 只看该作者

3 v1 d& G  o" S7 P- f不用改, _irol_    (unsigned int,  unsigned char);这个就行了

该用户从未签到

3#
发表于 2021-12-3 11:12 | 只看该作者
2 Z5 a; L. v5 L4 `% U+ m9 d5 W
用这个_lrol_,就可以对long进行操作了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-20 21:42 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表