ORG 0000H;启动地址
START: MOV A,#00H;程序开始,A=0
NEXT: MOV P0,A;P0=A
MOV P1,A;P1=A
MOV P2,A;P2=A
MOV P3,A;P3=A
ACALL DELAY;调用子程序 DELAY
CPL A;对A按位取反其内容变为0FFH
SJMP NEXT;转到 NEXT循环执行
DELAY: MOV R3,#0FFH;延时子程序,R3赋初值0FFH
DEL2: MOV R4,#0FFH;R4赋初值0FFH
DEL1: NOP ;空操作指令,为了延时而执行
NOP
DJNZ R4,DEL1;R4自减1,内容不为零转到DEL1继续空操作
DJNZ R3,DEL2;R3自减1,内容不为零转到DEL2
RET ;R3、R4都为零,循环结束,从子程序返回
END ;整段程序结束