END
方法二:单用C语言编程实现
//MAIN.C
#include
#include
int movdata(char);
void main()
{ char n; char *ptr; float *ptr2; float f; ptr=0x25; n=*ptr; f=sqrt(n);
ptr2=0x30; *ptr2=f; }
8.将外部RAM 10H~15H单元的内容传送到内部RAM 10H~15H单元。
解:方法一:采用C语言与汇编语言混合编程
//用C语言编写的主函数MAIN.C
#include
char movdata(char,char);
void main()
{
char a=0x10,b=0x06;
movdata(a,b);
}
;用汇编语言编写的移动数据子函数MOVDATA,其中第一个参数在R7中为首地址,第二个参数在R5中为字节数
PUBLIC _MOVDATA
DE SEGMENT CODE
RSEG DE
_MOVDATA: MOV A,R7 ;取参数
MOV R0,A
LOOP: MOVX A,@R0
MOV @R0,A
INC R0
DJNZ R5,LOOP
EXIT: RET
END
方法二:单用C语言编程实现
//MAIN.C
#include
void main()
{
char n=6;
char *ptr1=0x10;
char xdata *ptr2;
ptr2=0x10;
while(n--){
*ptr1++=*ptr2++;
}