在汇编语言中怎么加入C语言
在C51中插入汇编问题!请教各位:1、我想在C51的程序中插入汇编程序,然后用KEIL编译。使用的格式是asm("ljmp8000h");。但在用keil编译是提示有错。...
在C51中插入汇编问题!请教各位:
1、我想在C51的程序中插入汇编程序,然后用KEIL编译。使用的格式是
asm(" ljmp 8000h ");。但在用keil编译是提示有错。是否要include
什么头文件。
2、在C51的源程序中能否进行绝对地址的调用与跳转。如;LCALL 8000H
LJMP 8000H。 展开
1、我想在C51的程序中插入汇编程序,然后用KEIL编译。使用的格式是
asm(" ljmp 8000h ");。但在用keil编译是提示有错。是否要include
什么头文件。
2、在C51的源程序中能否进行绝对地址的调用与跳转。如;LCALL 8000H
LJMP 8000H。 展开
4个回答
展开全部
第一题
直接嵌入汇编代码的方法:
1、在 C 文件中要嵌入汇编代码片以如下方式加入汇编代码:
#pragma ASM
; Assembler Code Here
#pragma ENDASM
2、在 Project 窗口中包含汇编代码的 C 文件上右键,选择“Options for ...”,点击右边的“Generate Assembler SRC File”和“Assemble SRC File”,使检查框由灰色变成黑色(有效)状态;
3、根据选择的编译模式,把相应的库文件(如 Small 模式时,是 Keil\C51\Lib\C51S.Lib)加入工程中, 该文件必须作为工程的最后文件;
void main(void)
{
P2=1;
#pragma asm
MOV R7,#10
DEL:MOV R6,#20
DJNZ R6,$
DJNZ R7,DEL
#pragma endasm
P2=0;
}
第二题
可以直接用绝对地址跳转,一般直接跳到标签处,不用自己算地址。这样不小心程序会跑飞。
直接嵌入汇编代码的方法:
1、在 C 文件中要嵌入汇编代码片以如下方式加入汇编代码:
#pragma ASM
; Assembler Code Here
#pragma ENDASM
2、在 Project 窗口中包含汇编代码的 C 文件上右键,选择“Options for ...”,点击右边的“Generate Assembler SRC File”和“Assemble SRC File”,使检查框由灰色变成黑色(有效)状态;
3、根据选择的编译模式,把相应的库文件(如 Small 模式时,是 Keil\C51\Lib\C51S.Lib)加入工程中, 该文件必须作为工程的最后文件;
void main(void)
{
P2=1;
#pragma asm
MOV R7,#10
DEL:MOV R6,#20
DJNZ R6,$
DJNZ R7,DEL
#pragma endasm
P2=0;
}
第二题
可以直接用绝对地址跳转,一般直接跳到标签处,不用自己算地址。这样不小心程序会跑飞。
展开全部
似乎只能把C部分编译成OBJ,然后和汇编LINK起来,具体的我也没试过了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只知道C语言嵌入汇编,汇编怎么嵌入C语言;
汇编比C语言低级,应该不能嵌入吧;
汇编比C语言低级,应该不能嵌入吧;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编译器不支持的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询