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.