7655|6

12

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

ccs里面的关于nop使用的问题 [复制链接]

    最近碰到个奇怪的问题

      用宏定义#define nop asm(" nop"),结果nop在程序中限制数量,超过两个必出错。纠结了很久,后来碰到一位高人

告诉我这样写#define nop asm("ஐnop")。就是在第一个冒号的后面和nop的前面加个空格。之后nop就没有限制啦。随便

写几个都行。不知道这个问题别人遇到过没有。分享一下,希望能帮到大家

最新回复

和汇编器生成代码的方式相关。一般这种基础的内嵌汇编是直接发射进汇编里面,也就是asm("nop");asm("nop")在汇编里是nopnop,这个东西当然非法。 如果加空格,汇编器就能认识nop nop是两个指令。 你可以用编译器命令行生成汇编看看是不是以上所说。   详情 回复 发表于 2020-12-30 18:52
 
点赞 关注

回复
举报

2606

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 
#define nop asm("ஐnop")
我能信吗?ஐ这是怎么打出来的啊
 
个人签名工程 = 数学+物理+经济
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 安_然 的帖子

就是加个空格啊
 
 
 

回复

91

帖子

0

TA的资源

一粒金砂(高级)

4
 
这样写是对的,虽然我不太明白,不过教材里面说过的,并且EINT DINT 等等,他们的c语言编写汇编时就是这么编的:#define EINT asm(" setc INTM ").
 
 
 

回复

2606

帖子

0

TA的资源

五彩晶圆(初级)

5
 
 
个人签名工程 = 数学+物理+经济
 
 

回复

17

帖子

0

TA的资源

一粒金砂(中级)

6
 
如你所述,确实是这样,我在device2018.h中看到了这个现象。属于预定义
 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

7
 

和汇编器生成代码的方式相关。一般这种基础的内嵌汇编是直接发射进汇编里面,也就是asm("nop");asm("nop")在汇编里是nopnop,这个东西当然非法。

如果加空格,汇编器就能认识nop nop是两个指令。

你可以用编译器命令行生成汇编看看是不是以上所说。

 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表