org 0000h
main: mov r0,#08h
mov a,#00000001b ;test all segments of disp
up: rr a
mov P2,a
acall delay
djnz r0,up
again: mov P2,#0000 ;'0'
acall delay
mov P2,#0001 ;'1'
acall delay
mov P2,#0010 ;'2'
acall delay
mov P2,#0011 ;'3'
acall delay
mov P2,#0100 ;'4'
acall delay
mov P2,#0101 ;'5'
acall delay
mov P2,#0110 ;'6'
acall delay
mov P2,#0111 ;'7'
acall delay
mov P2,#1000 ;'8'
acall delay
mov P2,#1001 ;'9'
acall delay
sjmp again
delay: mov r2,#100 ;delay subroutine
up3: mov r4,#100
up2: mov r3,#100
up1: djnz r3,up1
djnz r4,up2
djnz r2,up3
ret