简述C51中调用汇编程序的实现方法。
正确答案:
编写为C51调用的汇编程序,参数须按规定的寄存器或存储器传送,程序格式有相应的规则,这些规则比较繁琐,为了便于处理,在实际中我们往往先用C51写出这个程序的主体,然后用SRC控制指令编译产生asm文件,修改这个asm文件得到我们所要的汇编函数。处理过程具体如下。
第一步:先用C语言程序编写出程序框架,如文件名为a1.c(注意参数)。
第二步:在Keil C51的Project窗口中右击该C语言文件,在弹出的快捷菜单中选择Options for ...,右边的Generate Assembler SRCFile和Assemble SRC File,使检查框由灰色变成黑色(有效)状态;
第三步:根据选择的编译模式,把相应的库文件(如Small模式时,是Keil/C51/Lib/ C51S.Lib)加入工程中,该文件必须作为工程的最后文件。库文件与编译模式的关系如前面。
第四步:编译后将会产生一个SRC的文件,将这个文件扩展名改为ASM。这样就形成了可供C51程序调用的汇编程序。随后可在该文件的代码段中加入所需的指令代码。
第五步:将该汇编程序与调用它的主程序一起加到工程文件中,这时工程文件中不再需要原来的C语言文件和库文件,主程序只需要在程序开始处用EXTERN对所调用的汇编程序中的函数作声明,在主程序中就可调用汇编程序中的函数了。
第一步:先用C语言程序编写出程序框架,如文件名为a1.c(注意参数)。
第二步:在Keil C51的Project窗口中右击该C语言文件,在弹出的快捷菜单中选择Options for ...,右边的Generate Assembler SRCFile和Assemble SRC File,使检查框由灰色变成黑色(有效)状态;
第三步:根据选择的编译模式,把相应的库文件(如Small模式时,是Keil/C51/Lib/ C51S.Lib)加入工程中,该文件必须作为工程的最后文件。库文件与编译模式的关系如前面。
第四步:编译后将会产生一个SRC的文件,将这个文件扩展名改为ASM。这样就形成了可供C51程序调用的汇编程序。随后可在该文件的代码段中加入所需的指令代码。
第五步:将该汇编程序与调用它的主程序一起加到工程文件中,这时工程文件中不再需要原来的C语言文件和库文件,主程序只需要在程序开始处用EXTERN对所调用的汇编程序中的函数作声明,在主程序中就可调用汇编程序中的函数了。
答案解析:有
微信扫一扫手机做题