51单片机中,C语言中怎么加入汇编语言

Python018

51单片机中,C语言中怎么加入汇编语言,第1张

1、在 C 文件中要嵌入汇编代码片以如下方式加入汇编代码:

2、在 Project 窗口中包含汇编代码的 C 文件上右键,选择“Options for ...”,点击右边的“Generate Assembler SRC File”

和“Assemble SRC File”,使检查框由灰色变成黑色(有效)状态;

3、根据选择的编译模式,把相应的库文件(如 Small 模式时,是 Keil\C51\Lib\C51S.Lib)加入工程中, 该文件必须作为工程的最

后文件;

4、编译,即可生成目标代码。

你用的是跳转指令进入程序段,而不是子程序调用,所以不能用RET返回,只能同样跳回去

用LCALL或者ACALL命令调用子程序时会把当前的程序地址压入堆栈当前点,在遇到RET指令时就会把保存的断点地址弹回PC寄存器,继续调用之前的执行,但是JMP系列指令不会保存断点地址,所以RET时就会把堆栈当前点数据装入PC,上电后RAM中未初始化的单元都是0,所以就会把0装入PC,于是程序就回到0地址了。