问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

汇编语言与c语言混合编程需要注意什么

发布网友 发布时间:2022-04-24 09:18

我来回答

2个回答

热心网友 时间:2023-10-09 07:00

认真阅读一下使用的编译器手册

热心网友 时间:2023-10-09 07:01


C51与汇编语言混合编程
(1).C51语言中调用汇编语言程序
1、在文件中选中FILE GROUP 和C51程序原文件,在配置文件选项中激活“i”产生汇编(SRC)文件,“编译(SRC)文件”和“创建工程(目标)时包含“三个选项。
2、根据选择的编译模式,把相应的库文件(如SMALL模式,库文件为KEIL\C51\LIB\C51S.LIB)加入到工程中。
3、在C51语言中必须声明需要调用的函数为外部函数。extern void DELAY(void);
4、在汇编语言程序中必须声明被调用子程序为公共子程序,在被调用的文件中还需要声明此文件是新定位的。
PUBLIC DELAY,DEL
DELAYY SEGMENT CODE
RSEG AELAYY
实例如下:
#include "reg51.h"
extern void DELAY(void);
extern void DEL(void);
void main(void)
{
P1=0x00;
DELAY();
DEL();
P!=0xff;
}
汇编语言文件:
PUBLIC DELAY,DEL
DELAYY SEGMENT CODE
RSEG AELAYY

DELAY: MOV R2,#3H
DJNZ R2,$
RET
DEL: MOV R3,#3H
DJNZ R3,$
RET
END
(2)、C51语言中嵌入汇编程序:
在C51语言中嵌套使用汇编语言程序要注意以下几个问题:
1、在文件中选中FILE GROUP 和C51程序原文件,在配置文件选项中激活“i”产生汇编(SRC)文件,“编译(SRC)文件”和“创建工程(目标)时包含“三个选项。
2、根据选择的编译模式,把相应的库文件(如SMALL模式,库文件为KEIL\C51\LIB\C51S.LIB)加入到工程中。
3、用#pragma asm .和#pragma endasm 语句包含嵌入的汇编语言程序。
实例如下:
#include "reg51.h"
void delay(void);
void main(void)
{
void delay(void);
P1=0x00;
#pragma asm
MOV R3,#08H
DINZ R3,$
#pragma endasm
P1=0xff;
}
void delay(void)
{
#pragma asm
MOV R4,#08H
DJNZ R4,$
#pragma endasm
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
福建南安都有哪些市场 端午节去南安旅行的线路有哪些值得分享? 南安有哪些特色商业街 把一个棱长是10厘米的正方体铁块熔铸成一个底面积是20厘米的圆锥形铁块... 把一块棱长10厘米的正方体铁块熔铸成一个底面直径是20厘米的圆柱形零件... 0x0438ef0指令引用的0x0438ef0内存.该内存不能为“read”的错误提示... SONY 索尼 DSC-RX100M5A 1英寸数码相机 黑色(8.8-25.7mm、F1.8) Vl... SONY 索尼 DSC-RX100M5A 1英寸数码相机 黑色(24-70mm、F1.8-F2.8)-购... 索尼RX100 M5A数码相机 索尼RX100 M5A数码相机:小巧便携,成像卓越 keil4 下 c语言和汇编语言。混合编程的方法。 汇编语言和c语言混编 用keil怎么写入单片机啊?求步骤!谢谢! C语言和汇编混合编程时如何带回一个以上的返回参数 c语言和汇编混合编程 谁知道汇编与c语言怎样互相调用啊,还有怎样在linux编译啊,如果可以的话,就写个简单的程序介绍。谢谢哈 c语言和汇编语言的混合编程方法主要有哪些 C和汇编语言混合编程问题C和汇编怎么混编 如何C语言与汇编混编 怎么实现c语言与汇编语言的混合编程 c语言汇编语言混合编程的问题 高手救助~! 请求怎么把C语言通过keil编译成汇编然后再保存文本格式!麻烦告知,谢谢 汇编语言中数组如何保存? 6碗水有多少升? 华为手机能开机显示不了主页面的怎么办 华为手机来微信时界面不显示怎么办 华为手机开机就变成这样了,无法进入主页面,怎么办 华为手机停在开机界面,进入不了主界面,该怎么处理 12寸是多少毫升 华为手机显示不出来桌面真么办? 华为手机能开机就.是显示不了主页面 C语言与汇编语言混合编程时,汇编语言模块的编写应注意哪些问题? 将C语言与汇编混编时应加入什么做为说明 win7主机ip地址怎么查 VC++6.0下如何进行汇编与C语言的混合编程 汇编程序和C语言程序怎么混合起来使用??求详解 C/C++与汇编混合编程有什么好处 win7 电脑ip地址怎么查 汇编语言和C语言混合编程时,它们之间是如何传递参数的?请用具体例子说明 公司户的车个人能买保险吗? 公司车个人买保险无效吗 公司名下的车不方便拿手续,可以个人买保险吗? 以公司的名义买的车保险过期了,我可以以个人的名义买保险吗 意思是,公司名下的车,然后以个人买了保险,审车可以吗? 公司给个人车辆买车险 公司的车可以保险买在个人身上吗 公司单位车买商业保险用个人身份证买可以吗 个人买的车可以用公司的名义买保险吗? 给贷款购买的车辆安装北斗GPS定位器有什么用途? 山药怎么做好吃?买了山药都快要放坏了还不懂怎么做? 山药怎么做才能好吃呢