reset_entry
	mov	m,#$0f
	mov	 ra,#%0110	;init ra
	mov	!ra,#%0010	;ra0-1 = input,ra2-3 = output
	mov	 rb,#%00000000	;init rb
	mov	!rb,#%00001110	;rb1-3 = input,rb0,rb4-7 = output
	mov	 rc,#%00000000	;init rc
	mov	!rc,#%11111101	;rc0,rc2-7 = input,rc1 = output
	mov	m,#$0d		;make rc0 cmos-level
	mov	!rc,#%11111110
	clr	fsr		;reset all ram banks
:loop	setb	fsr.4
	clr	ind
	ijnz	fsr,:loop
	bank	dtmf_gen	;Initialize variables
	mov	delay,#23
	clr	flags
	mov	!option,#%00011111
			     	;enable wreg and rtcc interrupt
	jmp	@main		;Jump to main code
	…

Listing 1Developing the Bell 202-compatible modem program was simplified by using an Edit window on a PC. This code describes the initialization sequence for the design.