4.35 Ifdef Directive

The MPASM IFDEF directive begins a conditional block of assembly code.

Suggested Replacement

As assembly source files can be preprocessed, the #ifdef preprocessor directive can be used as a replacement for this directive. Ensure the assembly source file uses a .S extension so that it will be preprocessed by the assembler. For example:
#ifdef DBG
  movf state,w
  call diag
#endif

Although the MPASM assembler allows you to use a #IFDEF form of this directive, note that it is still an assembler directive. The PIC Assembler's #ifdef directive is a preprocessor directive, hence will be looking for the definition of a preprocessor symbol, not an assembler symbol. If you migrate your code to use the preprocessor directive, ensure that you also define as required the equivalent preprocessor macros using either the#define directive or -D option.