Figure-to-Code mapping for Assembly Language to C Using the PIC24 Family

The CD-ROM contains the book's code examples (the examples that are complete programs; code fragments are not on the CD-ROM). Descriptive names were used for MPLAB projects.  The table below shows how the book's figures map to code examples on the CD-ROM (all code examples are found in the code\ subdirectory). Chapters 3-5 do not have many entries in the table below (Chapter 5 has none) because most of the figures and listings in these chapters are for C code fragments that have been translated to PIC24 assembly. Here is a ZIP archive of the latest version of these examples (they may be slightly different from what is in the book, but the functionality will be the same).


 Chapter  Figure or Listing
 Project or File
 3  L 3.4
 chap3\mptst_byte.mcp
   L 3.6
 chap3\mptst_word.mcp
 4  L 4.1
 chap4\nsc.s
 6  F 6.11
 chap6\upcase.mcp
   F 6.14
 chap6\countOnes.mcp
   F 6.23, 6.24  chapt6\countOnes_assem.mcp
   F 6.25
 chap6\fib_register.mcp
   F 6.26
 chap6\swapU32.mcp
   F 6.30, 6.31
 chap6\fib_stack.mcp
   F 6.32
 chap6\upcase_cversion.mcp
   L 6.1  chap6\psv_upcase.mcp
   F 6.33
 chap6\psv_intarray.mcp
 7  L 7.1  chap7\mult_asm_tests.mcp
   L 7.2
 chap7\mult_32x32_uns.mcp
   L 7.3  chap7\div_asm_tests.mcp
   L 7.5
 chap7\float_bench.mcp
   F 7.14
 chap7\bcd_test.mcp
   F 7.15  chap7\byte2aschex.c
   F 7.16
 chap7\byte2aschex_asm.mcp
   F 7.17
 chap7\aschex2byte.c
   F 7.18
 chap7\aschex2byte_asm.mcp
 8  F 8.4
 chap8\ledflash_nomacros.mcp
   F 8.5
 chap8\ledflash.mcp
   F 8.6
 chap8\echo.mcp
   F 8.9
 chap8\asm_echo.mcp
   F 8.13  common\pic24_configbits.c
   F 8.14
 include\pic24_clockfreq.h
   F 8.15
 common\pic24_clockfreq.c
   F 8.18
 common\pic24_util.c
   F 8.20, 8.21
 chap8\reset.mcp
   F 8.28
 chap8\ledtoggle_nofsm.mcp
   F 8.30
 chap8\ledtoggle.mcp
   F 8.32
 chap8\ledsw1.mcp
   L 8.1, L 8.2,
 F 8.36, F 8.37
 chap8\lcd4bit.mcp
 9  F 9.5
 common\pic24_util.c
   F 9.6
 chap9\trap_test.mcp
   F 9.7
 chap9\trap_test_handled.mcp
   F 9.9
 chap9\change_wakeup.mcp
   F 9.10
 chap9\change_latency.mcp
   L 9.1
 chap9\int1_wakeup.mcp
   L 9.2
 include\pic24_timer.h
   L 9.3
 common\pic24_timer.c
   F 9.13
 chap9\squarewave.mcp
   F 9.14  chap9\ledtoggle_timer.mcp
   F 9.17
 chap9\filt_test.mcp
   F 9.18
 chap9\softfilt_test.mcp
   F 9.20, 9.21
 chap9\ledsw1_timer.c
   F 9.22
 chap9\ledsw2_timer.c
   F 9.24, 9.25
 chap9\rot_enc.c
   L 9.5, F 9.28, F 9.29
 chap9\keypad.c
   F 9.30
 chap9\rot_enc_trace.c
 10  F 10.7
 chap10\soft_uart.mcp
   F 10.13
 common\pic24_uart.c
   F 10.14
 common\pic24_uart.c
   F 10.15
 common\pic24_serial.c
   F 10.16
 chap10\reverse_string.mcp
   F 10.18
 common\pic24_uart.c, chap10\uartrx_fifo.mcp
   F 10.20
 common\pic24_uart.c,
chap10\uartrxtx_fifo.mcp
   L 10.1
 common\pic24_uart.c
   L 10.2
 common\pic24_spi.c
   F 10.30
 chap10\mcp41xxx_spi_pot.mcp
   F 10.33,
 10.34
 chap10\ds1722_spi_tempsense.mcp
   F 10.36a
 chap10\spi_master_revstring.mcp
   F 10.36b  chap10\spi_slave_revstring.mcp
   F 10.37  chap10\spi_master_revstring.mcp
   F 10.38  chap10\spi_slave_revstring.mcp
   F 10.44, 10.45, 10.46, 10.48
 common\pic24_i2c.c
   F 10.52
 chap10\ds1631_i2c.mcp
   F 10.57, 10.58
 chap10\mcp24lc515_i2c_eeprom.mcp
 11  F 11.12
 common\pic24_adc.c
   F 11.14
 chap11\adc2pots1.mcp
   F 11.17
 common\pic24_adc.c
   F 11.19
  chap11\adc7scan1.mcp
   F 11.21
 common\pic24_adc.c, chap11\adc7scan2.mcp
   F 11.25, 11.26
 common\pic24_adc.c, chap11\adc4simul.mcp
   F 11.32, 11.33,11.34, 11.39, 11.43, 11.46, 11.47
 chap11\dac_r2r.mcp
 12  F 12.2
 chap12\manual_switch_pulse_measure.mcp
   L 12.1
 common\pic24_timer.c
   L 12.2
 include\pic24_generic.h
   F 12.4, 12.5
 chap12\timer32bit_switch_pulse_measure.mcp   
   F 12.8, 12.10
 chap12\incap_switch_pulse_measure.mcp
   L 12.3
 common\pic24_timer.c
   F 12.11
 chap12\incap_freqmeasure.mcp
   F 12.19, 12.20, 12.21
 chap12\irbiphase_decode.mcp
   F 12.25
 chap12\outcompare_squarewave.mcp
   F 12.27
 chap12\ledpwm.mcp
   L 12.4
 chap12\outputcompare_oneservo.mcp
   L 12.5, F 12.32
 chap12\outputcompare_multiservo.mcp
   F 12.35
 chap12\pwm_dac.mcp
   F 12.36
 explorer16_100p\timer1_sosc.mcp
   F 12.38, 12.39
 explorer16_100p\rtcc.mcp
 13  F 13.4, 13.5
 chap13\dma_example.mcp
   F 13.7
 chap13\i2c_master_reverse_string.mcp
   F 13.8
 chap13\i2c_slave_reverse_string.mcp
   F 13.12, 13.13
 chap13\i2c_multmaster1_reverse_string.mcp,
chap13\i2c_multmaster2_reverse_string.mcp,
   F 13.30
 include\pic24_ecan.h
   F 13.31, 13.22, 13.25,  13.26
 chap13\ecan_example_nofifo.mcp
   F 13.28
  chap13\ecan_example_fifo.mcp
   F 13.30
  chap13\ecan_example_fifo_eid.mcp
   F 13.38, 13.39
 common\pic24_flash.c
   F 13.40, 13.41, 13.42
 chap13\flash_example.mcp
   F 13.47
 chap13\comparator_example.mcp
 14  F 14.12
 chap14\app_flashled.c
   F 14.13
 chap14\app_echo1.c
   F 14.15
 chap14\app_reverse.c
   F 14.16
 chap14\app_timerLEDecho.c
   F 14.18
 chap14\app_semaphore1.mcp
   F 14.20
 chap14\app_semaphore2.mcp
   F 14.22, 14.23
 chap14\app_childtask.mcp
   F 14.24, 14.25
 chap14\app_irqs.mcp
  L 14.3, F 14.27,
F 14.28, L 14.4, L 14.5, L 14.30,  L 14.6
 esos\include\esos_pic24_i2c.h,
esos\src\pic24\esos_pic24_i2c.c
   F 14.31, 14.32
 esos\app_ds1631.mcp
 15  F 15.3, 15.4, 15.5, 15.6, 15.7
 chap15\audio.mcp
   F 15.13, 15.14, 15.15
 chap15\reflow_oven.mcp
   F 15.22, 15.23, 15.24, 15.25
  chap15\robot.mcp

Comments