有做过汇编里面嵌入C的吗

[复制链接]
2867|53
 楼主| guoyt 发表于 2022-1-3 22:46 | 显示全部楼层 |阅读模式
有做过汇编里面嵌入C的吗
stly 发表于 2022-1-3 22:48 | 显示全部楼层
什么意思?不是很明白你说的什么,能再解释一下这个现象吗
 楼主| guoyt 发表于 2022-1-3 22:50 | 显示全部楼层

单片机的程序c里如何嵌入汇编啊?需要哪些注意的格式吗?
    或者汇编里如何嵌入c?需要什么样的具体格式啊?坐等高手的指点
yufe 发表于 2022-1-3 22:52 | 显示全部楼层
没听说过在汇编里面嵌入C的
午夜粪车 发表于 2022-1-3 22:54 | 显示全部楼层
倒是可以在keil c中嵌入汇编的
 楼主| guoyt 发表于 2022-1-3 22:55 | 显示全部楼层
比如呢?
zhenykun 发表于 2022-1-3 22:57 | 显示全部楼层

格式
        #pragma  ASM
           ;Assembler code here
           #pragma ENDASM
dingy 发表于 2022-1-3 22:59 | 显示全部楼层
在Project窗口中包含汇编代码的C文件上右键,选择“Option for....” 点击右边的“Generate Assembler SRC file ” 和“Assembler SRC file”, 使检查项由灰色变成黑色(有效)。
ousj 发表于 2022-1-3 23:02 | 显示全部楼层
把keil\C51\LIB中的C51S.lib添加到工程中来。        

编译即可生产目标代码。
spark周 发表于 2022-1-3 23:04 | 显示全部楼层
来个简单的例子呗
lium 发表于 2022-1-3 23:06 | 显示全部楼层

#include<reg51.h>

void sub_fun(void)

{

         P2 = 1;



        #pragme asm

         MOV R7,#10

DEL:

         MOV R6,#20

         DJNZ R6,$

         DJNZ R7,DEL

         #pragma endasm



        P2 = 0;

}
chuxh 发表于 2022-1-3 23:08 | 显示全部楼层
这是C语言里嵌入汇编吧。
pengf 发表于 2022-1-3 23:10 | 显示全部楼层
C里面嵌入汇编可以 汇编里面嵌入C不行
jiaxw 发表于 2022-1-3 23:15 | 显示全部楼层
汇编里面嵌入C 也可以,前提是要懂得C的编译规则,尤其是传参与返回的部分。其实这是相通的。
shimx 发表于 2022-1-3 23:17 | 显示全部楼层
汇编里嵌入C,能编译吗?
zwll 发表于 2022-1-3 23:19 | 显示全部楼层
可以的,我做的一个项目就是汇编里面嵌入C 代码的,但是我没有进行传参数。
llljh 发表于 2022-1-3 23:21 | 显示全部楼层
楼上不要混淆概念,汇编程序调用C函数,是“混合编程”(自己去度娘查),而嵌入代码,虽然没有标准说法,但通行的理解是有两种代码存在于同一个文件,分别是主体代码(比如C)和嵌入代码(比如汇编),嵌入的代码的语法没有在主体代码的规范里具体定义,而这个文件必须使用主体代码的代码转换工具(比如C编译器)进行目标码生成。
supernan 发表于 2022-1-3 23:24 | 显示全部楼层
汇编不能嵌入C,只能在C嵌入C汇编。
lizye 发表于 2022-1-3 23:26 | 显示全部楼层
我一般在c里面,把变量@一下,固定变量所在的存储器,然后直接在汇编里面调用c。
songqian17 发表于 2022-1-3 23:28 | 显示全部楼层
为啥要嵌入?  用C写好之后在汇编里进行调用即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1018

主题

9067

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部