
	org 00h
	jmp	100h

	org 100h
main:
	mov	A,#5
	acall	set_p1_bit
	mov	A,#5
	acall	clr_p1_bit
	nop
	nop
	sjmp	main

;
;routine to set a bit in P1 port.
;entry A register is the bit number 0->7 to set
;
set_p1_bit:
	anl	A,#07H		;mask to 3 bits
	mov	DPL,A
	add	A,DPL
	add	A,DPL		;table entries are 3 bytes
	mov	DPTR,#set_p1_table
	jmp	@A+DPTR
set_p1_table:
	setb	P1.0
	ret
	setb	P1.1
	ret
	setb	P1.2
	ret
	setb	P1.3
	ret
	setb	P1.4
	ret
	setb	P1.5
	ret
	setb	P1.6
	ret
	setb	P1.7
	ret
;
;routine to clr a bit in P1 port.
;entry A register is the bit number 0->7 to clr
;
clr_p1_bit:
	anl	A,#07H		;mask to 3 bits
	mov	DPL,A
	add	A,DPL
	add	A,DPL		;table entries are 3 bytes
	mov	DPTR,#clr_p1_table
	jmp	@A+DPTR
clr_p1_table:
	clr	P1.0
	ret
	clr	P1.1
	ret
	clr	P1.2
	ret
	clr	P1.3
	ret
	clr	P1.4
	ret
	clr	P1.5
	ret
	clr	P1.6
	ret
	clr	P1.7
	ret

	end
