DEFINE OSC 20 does nothing but tell the compiler to base timed sequences on that assumption

if you need an external xtaL or anything eles then the config fuses need to set appropriately
eg
Code:
;----[18F2523 Hardware Configuration]-------------------------------------------
#CONFIG
  CONFIG  OSC = HS
  CONFIG  FCMEN = OFF
  CONFIG  IESO = OFF
  CONFIG  PWRT = OFF
  CONFIG  BOREN = SBORDIS
  CONFIG  BORV = 3
  CONFIG  WDT = ON
  CONFIG  WDTPS = 512
  CONFIG  CCP2MX = PORTC
  CONFIG  PBADEN = OFF
  CONFIG  LPT1OSC = OFF
  CONFIG  MCLRE = ON
  CONFIG  STVREN = ON
  CONFIG  LVP = OFF
  CONFIG  XINST = OFF
  CONFIG  DEBUG = OFF
  CONFIG  CP0 = OFF
  CONFIG  CP1 = OFF
  CONFIG  CP2 = OFF
  CONFIG  CP3 = OFF
  CONFIG  CPB = OFF
  CONFIG  CPD = OFF
  CONFIG  WRT0 = OFF
  CONFIG  WRT1 = OFF
  CONFIG  WRT2 = OFF
  CONFIG  WRT3 = OFF
  CONFIG  WRTC = OFF
  CONFIG  WRTB = OFF
  CONFIG  WRTD = OFF
  CONFIG  EBTR0 = OFF
  CONFIG  EBTR1 = OFF
  CONFIG  EBTR2 = OFF
  CONFIG  EBTR3 = OFF
  CONFIG  EBTRB = OFF
#ENDCONFIG