我是新手  请高手帮助看看 编译时说有一处错误  在第8行(jnb p3.3,k41)意思是超出范围   请详细指点一下

ORG  0000H

key:      mov p3,#0fh

k10:      jnb p3.0,k11   ;p3,0=1 ->k11
          ljmp d10ms
          jnb p3.1,k21
          ljmp d10ms
          jnb p3.2,k31
          ljmp d10ms
          jnb p3.3,k41
          ljmp   d10ms
          jmp k10
D10MS:
       MOV R7,#20
n1:    mov r6,#20
n2:    djnz r6,n2
       DJNZ R7,n1
       ret
k11:      mov p3,#0efh   ;11101111
          jnb p3.0,k12  ;p0,0=1 ->k12
          ljmp d15ms
          mov p1,#0fh
          jmp key
k12:      mov p3,#0dfh
          jnb p3.0,k13
          ljmp d15ms
          mov p1,#1fh
          jmp key
k13:      mov p3,#0bfh
          jnb p3.0,k14
          ljmp d15ms
          mov p1,#2fh
          jmp key
k14:      mov p1,#3fh
          jmp key

k21:      mov p3,#0efh
          jnb p3.1,k22
          ljmp d15ms
          mov p1,#4fh
          jmp key
k22:      mov p3,#0dfh
          jnb p3.1,k23
          ljmp d15ms
          mov p1,#5fh
          jmp key
k23:      mov p3,#0bfh
          jnb p3.1,k24
          ljmp d15ms
          mov p1,#6fh
          jmp key
k24:      mov p1,#7fh
          jmp key

k31:      mov p3,#0efh
          jnb p3.2,k32
          ljmp d15ms
          mov p1,#8fh
          jmp key
k32:      mov p3,#0dfh
          jnb p3.2,k33
          ljmp d15ms
          mov p1,#9fh
          jmp key
k33:      mov p3,#0bfh
          jnb p3.2,k34
          ljmp d15ms
          mov p1,#0afh
          jmp key
k34:      mov p1,#0bfh
          jmp key

k41:      mov p3,#0efh
          jnb p3.3,k42
           ljmp d15ms
          mov p1,#0cfh
          jmp key
k42:      mov p3,#0dfh
          jnb p3.3,k43
           ljmp d15ms
          mov p1,#0dfh
          jmp key
k43:      mov p3,#0bfh
          jnb p3.3,k44
           ljmp d15ms
          mov p1,#0efh
          jmp key
k44:      mov p1,#0ffh
         jmp key
D15MS:
        MOV R4,#20
n11:    mov r5,#20
n12:    djnz r5,n12
        DJNZ R4,n11
        RET
          end