单片机编程;将片外RAM中30H单元开始的20个数据送到片内RAM40H 开始的单元中

2024-12-03 15:24:42
推荐回答(2个)
回答1:

C:
char xdata* ptr1=0x30;
char* ptr2=0x40;
char i;
for(i=0;i<20;i++)
{
*ptr1++ = *ptr2++;
}
汇编如楼上,但片外RAM我喜欢用DPTR,把P2口也控制住
MOV R2,#20
MOV DPTR,#30H
MOV R1,#40H
LOOP:
MOVX A,@DPTR
MOV @R1,A
INC R0
INC R1
DJNZ R2,LOOP

回答2:

MOV R2,#20
MOV R0,#30H
MOV R1,#40H
LOOP:
MOVX A,@R0
MOV @R1,A
INC R0
INC R1
DJNZ R2,LOOP