#include /* common defines and macros */ #include /* derivative information */ #pragma LINK_INFO DERIVATIVE "mc9s12c128" /* File: prelab_5b_skeleton.c Course: ECE348, Fall 2006 Target processor: MC9S12C128 using HC12 compiler Last modified: 09/14/2009 This file serves as a starting point for lab 5b material on compiler optimizations. */ /* types */ typedef unsigned int uint16; typedef unsigned char uint8; /* prototypes */ uint16 ptr_add(uint16 *array, uint16 length); uint16 ptr_add2(uint16 *array, uint16 length); uint16 subscr_add(uint16 *array, uint16 length); /* defines */ #define DATA_LEN 100 /* global variables */ uint16 myArray[DATA_LEN]; // stores data to be summed (static because defined at top level) uint16 subscrResult; // result of subscripted computation uint16 ptrResult; // result of slow pointer computation uint16 ptrResult2; // result of faster pointer computation uint8 flag_version1_good; uint8 flag_version2_good; /* main function runs various subroutines and compares the results */ void main(void) { uint16 i; EnableInterrupts; // initialize data array for (i=0;i