在C文件中直接嵌入汇编可采用以下方法
#pragma ASM
汇编代码
#pragma ENDASM
以流水灯程序为例,其间延时部分用汇编
代码如下
#include //°üº¬µ¥Æ¬»ú¼Ä´æÆ÷µÄÍ·Îļþ
#define uchar unsigned char
#define uint unsigned int
void delay();
void main()
{
uchar num,dat1,dat2;
delay;
P0=0;
while(1)
{
dat1=0xfe;
dat2=0x7f;
for(num=0;num<7;num++)
{
P1=dat1; //³õʼ»¯¸³Öµ
dat1=dat1<<1; //ÓÒÒÆһλ
delay; //ÑÓʱ
}
for(num=0;num<7;num++)
{
P1=dat2; //³õʼ»¯¸³Öµ
dat2=dat2>>1; //ÓÒÒÆһλ
delay; //ÑÓʱ
}
}
}
void delay()
{
LOOP1: mov R6, #00H
loop2: mov R7, #00H
loop3: djnz R7, loop3
}