KEIL用C语言加入PUSH,POP

单片机高手们,KEIL用C语言加入PUSH,POP,怎么做?最好给个例子... 单片机高手们,KEIL用C语言加入PUSH,POP,怎么做?最好给个例子 展开
 我来答
百度网友fbd573469
推荐于2016-02-10 · TA获得超过636个赞
知道小有建树答主
回答量:244
采纳率:0%
帮助的人:0
展开全部
在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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Nina_520
2008-04-22 · TA获得超过1565个赞
知道小有建树答主
回答量:1314
采纳率:39%
帮助的人:370万
展开全部
#include<stdio.h>
int r;
extern add (int, int *);
main()
{
int i,j;
int a[6];

printf("six numbers:");
for(i=1;i<=6;i++)
{
scanf ("%d",&a[i]);
}
for(i=1;i<=6;i++)
{
add(a[i],&r);
a[i]=r;
}
for(i=1;i<=6;i++)
{
printf ("result is:%d\n",a[i]);
}

}

public _add:far
.model small
.code
_add proc
push bp
mov bp,sp
mov ax,[bp+4]
add ax,5
mov di,[bp+6]
mov [di],ax
POP bp
ret
_add endp
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式