Explicación del ensamblador
ESCRIBIR: MOV R2,#8 //Pon el valor inmediato 8 en el registro R2
WR0: CLR P3.3 //Establece P3.3 en 0
MOV R3,#6 //Pon el número inmediato 6 en el registro R3
DJNZ R3,$ //Comprueba si R3 es 0 y espera
RRC A //A lleva carry Rotación de bits a la derecha
MOV P3.3,C //Asignar el indicador de acarreo C al puerto P3.3
MOV R3,#20 //Colocar el número inmediato 20 en Registro R3
DJNZ R3,$ //Compruebe si R3 es 0 y espere
SETB P3.3 //Establezca P3.3 en 1
NOP / /Sin operación
NOP //Sin operación
DJNZ R2,WR0 //R2 no es 0, salta a WRO
SETB P3.3 //Establecer P3.3 a 1
RET