在汇编语言中怎么加入C语言

在C51中插入汇编问题!请教各位:1、我想在C51的程序中插入汇编程序,然后用KEIL编译。使用的格式是asm("ljmp8000h");。但在用keil编译是提示有错。... 在C51中插入汇编问题!请教各位:
1、我想在C51的程序中插入汇编程序,然后用KEIL编译。使用的格式是
asm(" ljmp 8000h ");。但在用keil编译是提示有错。是否要include
什么头文件。
2、在C51的源程序中能否进行绝对地址的调用与跳转。如;LCALL 8000H
LJMP 8000H。
展开
 我来答
单片机另类
2010-07-22 · TA获得超过247个赞
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:26万
展开全部
第一题
直接嵌入汇编代码的方法:
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;
}

第二题
可以直接用绝对地址跳转,一般直接跳到标签处,不用自己算地址。这样不小心程序会跑飞。
a_v_a_l_o_n
2010-07-21 · 超过20用户采纳过TA的回答
知道答主
回答量:105
采纳率:0%
帮助的人:67.7万
展开全部
似乎只能把C部分编译成OBJ,然后和汇编LINK起来,具体的我也没试过了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晃悠世界yq
2010-07-20 · TA获得超过2846个赞
知道小有建树答主
回答量:241
采纳率:0%
帮助的人:194万
展开全部
只知道C语言嵌入汇编,汇编怎么嵌入C语言;
汇编比C语言低级,应该不能嵌入吧;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangteng627
2010-07-20 · TA获得超过1095个赞
知道小有建树答主
回答量:1923
采纳率:0%
帮助的人:1462万
展开全部
编译器不支持的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式