Here's another example like aajgss's for the MCP4921. It generates a sine or cosine wave.
Would like to try speeding it up, using the MSSI or MSSp modules. If anyone has an idea for this
please post.

Code:
'****************************************************************
'*  Name    : DAC_MCP4921_WAVE.PBP                              *
'*  Author  : MARK S                                         *
'*  Date    : 4/30/2011                                         *
'*  Version : 1.0                                               *
'*  Notes   : DEMO 12BIT DAC MCP4921 - OUTPUTS SINE OR COSINE WAVE  *
'*          : FIXED FREQUENCY SHIFTOUT VERY SLOW, TRY MSSP MODULE                                                 *
'****************************************************************
'PIC18F4680   PBP2.6, MPASM
DEFINE  OSC 20
'REGISTERS
    INTCON = %00000000
    INTCON2.7 = 0       'weak pullups portB
    'ADCON0 = %00000001 'A/D module enabled, channel 0
    ADCON1 =%00001111   'ALL DIGITAL
    'ADCON2 = %10101011 'Right justified, 12 Tad, Frc clock
    CMCON  =%00000111   'COMP OFF
    T3CON = 0
    CCP1CON = 0 'ECCP OFF
    ECCP1AS = 0
    ECCP1DEL = 0
'PORTS
 TRISA = %00000000  ' PORTA ALL OUTPUT
 TRISB = %00000000  ' PORTB   
 TRISC = %00000000  ' PortC TMR1 RC0 = INPUT
 TRISD = %00000000   
    TRISE = %00000111
'VARIABLES & DAC CONNECTIONS  VREF PIN6 4921 TIED TO +5V
    SCLK        VAR PORTD.0      'SPI CLOCK   PIN3 4921
    SDAT        VAR PORTD.1      'SPI DATA    PIN4 4921
    CS_DAC      VAR PORTD.2      'Chip select PIN2 4921
    LOAD_DAC    VAR PORTD.3      'PIN5 4921
    WAVE_INDEX  VAR WORD         'TABLE POINTER
    DAC_OUT     VAR WORD         '0-4095 OUTPUT 0 TO 5V, value returned from table

MAIN:
HIGH LOAD_DAC
HIGH CS_DAC
FOR WAVE_INDEX = 0 TO 255
'GOSUB COS_TABLE
GOSUB SINE_TABLE
'PAUSEUS 500  'LOWER OUTPUT FREQ
'----------------------
LOW CS_DAC 
SHIFTOUT SDAT,SCLK,1,[%0011,DAC_OUT\12] 'Set DAC out
HIGH CS_DAC
LOW LOAD_DAC
@   NOP
HIGH LOAD_DAC
'----------------------
NEXT WAVE_INDEX
GOTO MAIN
SINE_TABLE:
                  
lookup2 WAVE_INDEX, [0,1,2,6,10,15,22,30,39,50,61,74,88,103,120,137,156,_
        176, 197,219,242,266,291,318,345,374,403,433,465,497,_
        531,565,600,636,673,710,749,788,828,869,910,952,995,_
        1039,1083,1127,1172,1218,1264,1311,1358,1406,1453,1502,1550,1599,_
        1648,1698,1747,1797,1847,1897,1948,1998,2048,2098,2148,2199,2249,_
        2299,2349,2398,2448,2497,2546,2594,2643,2690,2738,2785,2832,2878,_
        2924,2969,3013,3057,3101,3144,3186,3227,3268,3308,3347,3386,3423,_
        3460,3496,3531,3565,3599,3631,3663,3693,3722,3751,3778,3805,3830,_
        3854,3877,3899,3920,3940,3959,3976,3993,4008,4022,4035,4046,4057,_
        4066,4074,4081,4086,4090,4094,4095,4095,4095,4094,4090,4086,4081,_
        4074,4066,4057,4046,4035,4022,4008,3993,3976,3959,3940,3920,3899,_
        3877,3854,3830,3805,3778,3751,3722,3693,3663,3631,3599,3565,3531,_
        3496,3460,3423,3386,3347,3308,3268,3227,3186,3144,3101,3057,3013,_
        2969,2924,2878,2832,2785,2738,2690,2643,2594,2546,2497,2448,2398,_
        2349,2299,2249,2199,2148,2098,2048,1998,1948,1897,1847,1797,1747,_
        1698,1648,1599,1550,1502,1453,1406,1358,1311,1264,1218,1172,1127,_
        1083,1039,995,952,910,869,828,788,749,710,673,636,600,_
        565,531,497,465,433,403,374,345,318,291,266,242,219,_
        197,176,156,137,120,103,88,74,61,50,39,30,22,15,10,6,_
        2,1],DAC_OUT
        
 RETURN
 
 COS_TABLE:
 lookup2 WAVE_INDEX, [4095,4095,4094,4090,4086,4081,_
        4074,4066,4057,4046,4035,4022,4008,3993,3976,3959,3940,3920,3899,_
        3877,3854,3830,3805,3778,3751,3722,3693,3663,3631,3599,3565,3531,_
        3496,3460,3423,3386,3347,3308,3268,3227,3186,3144,3101,3057,3013,_
        2969,2924,2878,2832,2785,2738,2690,2643,2594,2546,2497,2448,2398,_
        2349,2299,2249,2199,2148,2098,2048,1998,1948,1897,1847,1797,1747,_
        1698,1648,1599,1550,1502,1453,1406,1358,1311,1264,1218,1172,1127,_
        1083,1039,995,952,910,869,828,788,749,710,673,636,600,_
        565,531,497,465,433,403,374,345,318,291,266,242,219,_
        197,176,156,137,120,103,88,74,61,50,39,30,22,15,10,6,_
        2,1,0,1,2,6,10,15,22,30,39,50,61,74,88,103,120,137,156,_         
        176, 197,219,242,266,291,318,345,374,403,433,465,497,_
        531,565,600,636,673,710,749,788,828,869,910,952,995,_
        1039,1083,1127,1172,1218,1264,1311,1358,1406,1453,1502,1550,1599,_
        1648,1698,1747,1797,1847,1897,1948,1998,2048,2098,2148,2199,2249,_
        2299,2349,2398,2448,2497,2546,2594,2643,2690,2738,2785,2832,2878,_
        2924,2969,3013,3057,3101,3144,3186,3227,3268,3308,3347,3386,3423,_
        3460,3496,3531,3565,3599,3631,3663,3693,3722,3751,3778,3805,3830,_
        3854,3877,3899,3920,3940,3959,3976,3993,4008,4022,4035,4046,4057,_
        4066,4074,4081,4086,4090,4094,4095],DAC_OUT
        
 RETURN
 END