RISC-V MCU中文社区

【求助】 Nuclei Studio 扩展内联汇编

发表于 开源蜂鸟E203 2023-05-31 16:05:41
10
3024
0

团队编号:CICC1181
团队名称:芯火

在进行指令测试时,采用内联汇编的方式可以方便有效地进行针对性测试,下面以一条浮点指令为例展示。
内联汇编的格式为
asm ( assembler template
: output operands / optional /
: input operands / optional /
: list of clobbered registers / optional /
);
其中 assembler template 为汇编指令部分;
第一个冒号:后面接输出操作数;
第二个冒号:后面接输入操作数;
第三个冒号:破坏性描述,即指令改变的寄存器;
逗号分隔每个组中的操作数;一般最多可以指定10个操作数;如果没有输出操作数但有输入操作数,那么输出操作数前的冒号不能省。
图片alt

图片alt

喜欢0
用户评论 (10)
  • nn爱学习

    2024-04-24 18:36:44 nn爱学习 1#

    您好,打扰您,我改了工具链,识别了我的指令,生成verilog文件。我放在tb里用vivado去跑,显示是非法指令,请问这个会是什么原因呢

  • nn爱学习

    2024-03-14 17:32:24 nn爱学习 2#

    onliever

    你写在汇编文件中的指令需要能被编译器识别,但写内联汇编可以直接定义指令格式,那条指令也就不需要编译器能识别了,建议你找下相关的资料学习一下怎么写

    明白了,感谢感谢,卡好几天了

  • onliever

    2024-03-14 17:30:43 onliever 3#

    nn爱学习

    哦哦哦,那我有写汇编文件,但可能哪不对,要不咋没识别上,还是说软件需要设置什么吗

    你写在汇编文件中的指令需要能被编译器识别,但写内联汇编可以直接定义指令格式,那条指令也就不需要编译器能识别了,建议你找下相关的资料学习一下怎么写

  • nn爱学习

    2024-03-14 17:24:34 nn爱学习 4#

    onliever

    如果你是写的汇编文件,那确实不需要内联汇编,这是用在C/C++里的;不修改编译器的话,可以在内联汇编里直接定义指令模板

    哦哦哦,那我有写汇编文件,但可能哪不对,要不咋没识别上,还是说软件需要设置什么吗

  • onliever

    2024-03-14 17:23:08 onliever 5#

    nn爱学习

    您好,那我不修改工具链的话,是需要写一个内联汇编吧,我还想问一下,汇编文件和内联汇编有区别吗

    如果你是写的汇编文件,那确实不需要内联汇编,这是用在C/C++里的;不修改编译器的话,可以在内联汇编里直接定义指令模板

  • nn爱学习

    2024-03-14 17:17:56 nn爱学习 6#

    onliever

    要么改编译器,要么用内联汇编去绕

    谢谢您,我一直以为有.s汇编文件就不用写内联汇编了呢

  • onliever

    2024-03-14 17:08:53 onliever 7#

    要么改编译器,要么用内联汇编去绕

  • nn爱学习

    2024-03-14 16:59:14 nn爱学习 8#

    onliever

    你这是添加自定义指令后,编译出错吧?如果你用的原来的工具链,肯定是识别不了你的自定义指令啊

    您好,那我不修改工具链的话,是需要写一个内联汇编吧,我还想问一下,汇编文件和内联汇编有区别吗

  • onliever

    2024-03-14 16:52:31 onliever 9#

    你这是添加自定义指令后,编译出错吧?如果你用的原来的工具链,肯定是识别不了你的自定义指令啊

  • nn爱学习

    2024-03-14 16:46:15 nn爱学习 10#

    您好,我用nuclei studio ,不识别我添加的自定义指令,如下图,您知道怎么解决吗

onliever

onliever 实名认证

这个人很懒

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板