在keil C51中,部分指令的插入可以直接调用库函数:
#include<intrins.h> // 其中包含了对部分汇编指令的调用申明
调用方式如下:
_nop_(); // 产生一条NOP指令
_push_(acc); // 产生一条push指令
而其他的指令的插入就得采取其他的办法了。
以下是intrins.h的内容
/*--------------------------------------------------------------------------
INTRINS.H
Intrinsic functions for C51.
Copyright (c) 1988-2004 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/
#ifndef __INTRINS_H__
#define __INTRINS_H__
extern void _nop_ (void);
extern bit _testbit_ (bit);
extern unsigned char _cror_ (unsigned char, unsigned char);
extern unsigned int _iror_ (unsigned int, unsigned char);
extern unsigned long _lror_ (unsigned long, unsigned char);
extern unsigned char _crol_ (unsigned char, unsigned char);
extern unsigned int _irol_ (unsigned int, unsigned char);
extern unsigned long _lrol_ (unsigned long, unsigned char);
extern unsigned char _chkfloat_(float);
extern void _push_ (unsigned char _sfr);
extern void _pop_ (unsigned char _sfr);
#endif
参考资料:http://hi.baidu.com/dianzix/blog/item/6839eb2deaa66031349bf796.html