2835|0

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求C语言宏指令实现位寻址 [复制链接]


目前有一个应用,使用的是STM8L系列CPU,编译器是COSMIC ,想用一个整型数(16位)寻址一段地址(固定地址)空间的位地址。如stemp[0].bit0地址为0,stemp[0].bit7的位地址为7,stemp[1].bit1的位地址为9。想实现置位,复位等功能 ,由于具体为固定地址,代码在编译时即可确定,为减少代码长度及运行时间,要求出来的汇编码是使用位寻址指令。


如定义一个 char stemp[200] @0x10 ;

SetB(9)        目标码             bset     _stemp+1,#1
SetB(256)    目标码                bset     _stemp+32,#0

求三个宏定义的实现
#define  SETB(bitaddr)   //  将某一位置位
#define  CLRB(bitaddr)  // 将某一位复位
#define  GETB(bitaddr)  //   取得某一位状态  1或者0
此帖出自stm32/stm8论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表