prog1

Download: prog1.zip

Contents

C Source
Disassembler output

Source: prog1.c

prog1.c

prog1.c


/* prog 1
*
*    Demonstrate high-level C constructions.
*
*/

int mylog2(int arg);
void if_test();
int for_test();
void array_test();
void ascii_code();
double adder(double a, double b);
int factorial(int n);
int diffofsum(int f, int g, int h, int i);

int main() 
{
	int x;
	//if_test();
	x = mylog2(128);
	x = for_test();
	array_test();
	ascii_code();
	double y = adder(3.0,4.0);
	return 0;
}

void if_test() 
{
	int na, nb, nc;
	// reminder: s8 is another name for fp
	// na @ 0(s8)
	// nb @ 4(s8)
	// nc @ 8(s8)
	na = 1;
	nb = 20;
	nc = 13;

	// IF Statement

	if (nb>nc) na = 4;

	// IF-ELSE Statement
	
	if (nb<nc) na = nc - 5;
	else na = nc + 2;
}

int mylog2(int arg) 
{
	int x, pow;
	x = 0;
	pow = 1;
	/*
	*  consider:
	*    pow = pow<<1; (or pow <<= 1) 
	*    x++;
	*/
	while (pow < arg) {
		pow <<= 1;
		//pow = pow * 2;
		x = x + 1;
	}
	return x;
}

int for_test()
{
	int i, sum;
	
	// sum the integers 1 .. 5

	// consider replacing i!=6 with i<6
	sum = 0;
	for (i=1; i!=6; i++) {
		sum = sum + i;
	}
	return sum;
}

int array[5];

void array_test()
{
	int i, n;
	array[0] = 1;
	array[1] = array[0]*3;

	n = sizeof(array)/sizeof(int);

	// use for loop

	for (i=1; i<n; i++) {
		array[i] = array[i-1]*3;
	}
}

void ascii_code()
{
	int na, nb , nc;

	na = 'S';
	nb = 'A';
	nc = 'a';
	na = nc - nb;
}


double adder(double a, double b)
{
	double v;
	v = a + b;
	return v;
}

int factorial(int n)
{
	if (n<=1) return 1;
	return n*factorial(n-1);
}

int diffofsums(int f, int g, int h, int i)
{
  int result;
  result = (f + g) - (h + i);
  return result;
}



Disassembler output

---  C:\ece314\prog1\prog1.c  --------------------------------------------------------------------
1:                   /* prog 1
2:                   *
3:                   *    Demonstrate high-level C constructions.
4:                   *
5:                   */
6:                   
7:                   int mylog2(int arg);
8:                   void if_test();
9:                   int for_test();
10:                  void array_test();
11:                  void ascii_code();
12:                  double adder(double a, double b);
13:                  int factorial(int n);
14:                  int diffofsum(int f, int g, int h, int i);
15:                  
16:                  int main() 
17:                  {
9D000018  27BDFFD8   addiu       sp,sp,-40
9D00001C  AFBF0024   sw          ra,36(sp)
9D000020  AFBE0020   sw          s8,32(sp)
9D000024  03A0F021   addu        s8,sp,zero
18:                      int x;
19:                      //if_test();
20:                      x = mylog2(128);
9D000028  24040080   addiu       a0,zero,128
9D00002C  0F40004A   jal         0x9d000128
9D000030  00000000   nop         
9D000034  AFC20010   sw          v0,16(s8)
21:                      x = for_test();
9D000038  0F400064   jal         0x9d000190
9D00003C  00000000   nop         
9D000040  AFC20010   sw          v0,16(s8)
22:                      array_test();
9D000044  0F40007D   jal         0x9d0001f4
9D000048  00000000   nop         
23:                      ascii_code();
9D00004C  0F4000AD   jal         0x9d0002b4
9D000050  00000000   nop         
24:                      double y = adder(3.0,4.0);
9D000054  3C029D07   lui         v0,0x9d07
9D000058  8C440E70   lw          a0,3696(v0)
9D00005C  8C450E74   lw          a1,3700(v0)
9D000060  3C029D07   lui         v0,0x9d07
9D000064  8C430E7C   lw          v1,3708(v0)
9D000068  8C420E78   lw          v0,3704(v0)
9D00006C  00403021   addu        a2,v0,zero
9D000070  00603821   addu        a3,v1,zero
9D000074  0F4000BF   jal         0x9d0002fc
9D000078  00000000   nop         
9D00007C  AFC20018   sw          v0,24(s8)
9D000080  AFC3001C   sw          v1,28(s8)
25:                      return 0;
9D000084  00001021   addu        v0,zero,zero
26:                  }
9D000088  03C0E821   addu        sp,s8,zero
9D00008C  8FBF0024   lw          ra,36(sp)
9D000090  8FBE0020   lw          s8,32(sp)
9D000094  27BD0028   addiu       sp,sp,40
9D000098  03E00008   jr          ra
9D00009C  00000000   nop         
27:                  
28:                  void if_test() 
29:                  {
9D0000A0  27BDFFE8   addiu       sp,sp,-24
9D0000A4  AFBE0010   sw          s8,16(sp)
9D0000A8  03A0F021   addu        s8,sp,zero
30:                      int na, nb, nc;
31:                      // reminder: s8 is another name for fp
32:                      // na @ 0(s8)
33:                      // nb @ 4(s8)
34:                      // nc @ 8(s8)
35:                      na = 1;
9D0000AC  24020001   addiu       v0,zero,1
9D0000B0  AFC20000   sw          v0,0(s8)
36:                      nb = 20;
9D0000B4  24020014   addiu       v0,zero,20
9D0000B8  AFC20004   sw          v0,4(s8)
37:                      nc = 13;
9D0000BC  2402000D   addiu       v0,zero,13
9D0000C0  AFC20008   sw          v0,8(s8)
38:                  
39:                      // IF Statement
40:                  
41:                      if (nb>nc) na = 4;
9D0000C4  8FC30004   lw          v1,4(s8)
9D0000C8  8FC20008   lw          v0,8(s8)
9D0000CC  0043102A   slt         v0,v0,v1
9D0000D0  10400003   beq         v0,zero,0x9d0000e0
9D0000D4  00000000   nop         
9D0000D8  24020004   addiu       v0,zero,4
9D0000DC  AFC20000   sw          v0,0(s8)
42:                  
43:                      // IF-ELSE Statement
44:                      
45:                      if (nb<nc) na = nc - 5;
9D0000E0  8FC20004   lw          v0,4(s8)
9D0000E4  8FC30008   lw          v1,8(s8)
9D0000E8  0043102A   slt         v0,v0,v1
9D0000EC  10400006   beq         v0,zero,0x9d000108
9D0000F0  00000000   nop         
9D0000F4  8FC20008   lw          v0,8(s8)
9D0000F8  2442FFFB   addiu       v0,v0,-5
9D0000FC  AFC20000   sw          v0,0(s8)
9D000100  10000004   beq         zero,zero,0x9d000114
9D000104  00000000   nop         
46:                      else na = nc + 2;
9D000108  8FC20008   lw          v0,8(s8)
9D00010C  24420002   addiu       v0,v0,2
9D000110  AFC20000   sw          v0,0(s8)
47:                  }
9D000114  03C0E821   addu        sp,s8,zero
9D000118  8FBE0010   lw          s8,16(sp)
9D00011C  27BD0018   addiu       sp,sp,24
9D000120  03E00008   jr          ra
9D000124  00000000   nop         
48:                  
49:                  int mylog2(int arg) 
50:                  {
9D000128  27BDFFF0   addiu       sp,sp,-16
9D00012C  AFBE0008   sw          s8,8(sp)
9D000130  03A0F021   addu        s8,sp,zero
9D000134  AFC40010   sw          a0,16(s8)
51:                      int x, pow;
52:                      x = 0;
9D000138  AFC00000   sw          zero,0(s8)
53:                      pow = 1;
9D00013C  24020001   addiu       v0,zero,1
9D000140  AFC20004   sw          v0,4(s8)
54:                      /*
55:                      *  consider:
56:                      *    pow = pow<<1; (or pow <<= 1) 
57:                      *    x++;
58:                      */
59:                      while (pow < arg) {
9D000144  8FC20004   lw          v0,4(s8)
9D000148  8FC30010   lw          v1,16(s8)
9D00014C  0043102A   slt         v0,v0,v1
9D000150  10400009   beq         v0,zero,0x9d000178
9D000154  00000000   nop         
60:                          pow <<= 1;
9D000158  8FC20004   lw          v0,4(s8)
9D00015C  00021040   sll         v0,v0,0x1
9D000160  AFC20004   sw          v0,4(s8)
61:                          //pow = pow * 2;
62:                          x = x + 1;
9D000164  8FC20000   lw          v0,0(s8)
9D000168  24420001   addiu       v0,v0,1
9D00016C  AFC20000   sw          v0,0(s8)
9D000170  1000FFF4   beq         zero,zero,0x9d000144
9D000174  00000000   nop         
63:                      }
64:                      return x;
9D000178  8FC20000   lw          v0,0(s8)
65:                  }
9D00017C  03C0E821   addu        sp,s8,zero
9D000180  8FBE0008   lw          s8,8(sp)
9D000184  27BD0010   addiu       sp,sp,16
9D000188  03E00008   jr          ra
9D00018C  00000000   nop         
66:                  
67:                  int for_test()
68:                  {
9D000190  27BDFFF0   addiu       sp,sp,-16
9D000194  AFBE0008   sw          s8,8(sp)
9D000198  03A0F021   addu        s8,sp,zero
69:                      int i, sum;
70:                      
71:                      // sum the integers 1 .. 5
72:                  
73:                      // consider replacing i!=6 with i<6
74:                      sum = 0;
9D00019C  AFC00004   sw          zero,4(s8)
75:                      for (i=1; i!=6; i++) {
9D0001A0  24020001   addiu       v0,zero,1
9D0001A4  AFC20000   sw          v0,0(s8)
9D0001A8  8FC30000   lw          v1,0(s8)
9D0001AC  24020006   addiu       v0,zero,6
9D0001B0  1062000A   beq         v1,v0,0x9d0001dc
9D0001B4  00000000   nop         
9D0001C8  8FC20000   lw          v0,0(s8)
9D0001CC  24420001   addiu       v0,v0,1
9D0001D0  AFC20000   sw          v0,0(s8)
9D0001D4  1000FFF4   beq         zero,zero,0x9d0001a8
9D0001D8  00000000   nop         
76:                          sum = sum + i;
9D0001B8  8FC30004   lw          v1,4(s8)
9D0001BC  8FC20000   lw          v0,0(s8)
9D0001C0  00621021   addu        v0,v1,v0
9D0001C4  AFC20004   sw          v0,4(s8)
77:                      }
78:                      return sum;
9D0001DC  8FC20004   lw          v0,4(s8)
79:                  }
9D0001E0  03C0E821   addu        sp,s8,zero
9D0001E4  8FBE0008   lw          s8,8(sp)
9D0001E8  27BD0010   addiu       sp,sp,16
9D0001EC  03E00008   jr          ra
9D0001F0  00000000   nop         
80:                  
81:                  int array[5];
82:                  
83:                  void array_test()
84:                  {
9D0001F4  27BDFFF0   addiu       sp,sp,-16
9D0001F8  AFBE0008   sw          s8,8(sp)
9D0001FC  03A0F021   addu        s8,sp,zero
85:                      int i, n;
86:                      array[0] = 1;
9D000200  3C03A000   lui         v1,0xa000
9D000204  24020001   addiu       v0,zero,1
9D000208  AC620208   sw          v0,520(v1)
87:                      array[1] = array[0]*3;
9D00020C  3C02A000   lui         v0,0xa000
9D000210  24440208   addiu       a0,v0,520
9D000214  3C02A000   lui         v0,0xa000
9D000218  8C430208   lw          v1,520(v0)
9D00021C  00601021   addu        v0,v1,zero
9D000220  00021040   sll         v0,v0,0x1
9D000224  00431021   addu        v0,v0,v1
9D000228  AC820004   sw          v0,4(a0)
88:                  
89:                      n = sizeof(array)/sizeof(int);
9D00022C  24020005   addiu       v0,zero,5
9D000230  AFC20004   sw          v0,4(s8)
90:                  
91:                      // use for loop
92:                  
93:                      for (i=1; i<n; i++) {
9D000234  24020001   addiu       v0,zero,1
9D000238  AFC20000   sw          v0,0(s8)
9D00023C  8FC20000   lw          v0,0(s8)
9D000240  8FC30004   lw          v1,4(s8)
9D000244  0043102A   slt         v0,v0,v1
9D000248  10400015   beq         v0,zero,0x9d0002a0
9D00024C  00000000   nop         
9D00028C  8FC20000   lw          v0,0(s8)
9D000290  24420001   addiu       v0,v0,1
9D000294  AFC20000   sw          v0,0(s8)
9D000298  1000FFE8   beq         zero,zero,0x9d00023c
9D00029C  00000000   nop         
94:                          array[i] = array[i-1]*3;
9D000250  3C04A000   lui         a0,0xa000
9D000254  8FC20000   lw          v0,0(s8)
9D000258  00021880   sll         v1,v0,0x2
9D00025C  24820208   addiu       v0,a0,520
9D000260  00622821   addu        a1,v1,v0
9D000264  3C04A000   lui         a0,0xa000
9D000268  8FC20000   lw          v0,0(s8)
9D00026C  00021880   sll         v1,v0,0x2
9D000270  24820208   addiu       v0,a0,520
9D000274  00621021   addu        v0,v1,v0
9D000278  8C43FFFC   lw          v1,-4(v0)
9D00027C  00601021   addu        v0,v1,zero
9D000280  00021040   sll         v0,v0,0x1
9D000284  00431021   addu        v0,v0,v1
9D000288  ACA20000   sw          v0,0(a1)
95:                      }
96:                  }
9D0002A0  03C0E821   addu        sp,s8,zero
9D0002A4  8FBE0008   lw          s8,8(sp)
9D0002A8  27BD0010   addiu       sp,sp,16
9D0002AC  03E00008   jr          ra
9D0002B0  00000000   nop         
97:                  
98:                  void ascii_code()
99:                  {
9D0002B4  27BDFFE8   addiu       sp,sp,-24
9D0002B8  AFBE0010   sw          s8,16(sp)
9D0002BC  03A0F021   addu        s8,sp,zero
100:                     int na, nb , nc;
101:                 
102:                     na = 'S';
9D0002C0  24020053   addiu       v0,zero,83
9D0002C4  AFC20000   sw          v0,0(s8)
103:                     nb = 'A';
9D0002C8  24020041   addiu       v0,zero,65
9D0002CC  AFC20004   sw          v0,4(s8)
104:                     nc = 'a';
9D0002D0  24020061   addiu       v0,zero,97
9D0002D4  AFC20008   sw          v0,8(s8)
105:                     na = nc - nb;
9D0002D8  8FC30008   lw          v1,8(s8)
9D0002DC  8FC20004   lw          v0,4(s8)
9D0002E0  00621023   subu        v0,v1,v0
9D0002E4  AFC20000   sw          v0,0(s8)
106:                 }
9D0002E8  03C0E821   addu        sp,s8,zero
9D0002EC  8FBE0010   lw          s8,16(sp)
9D0002F0  27BD0018   addiu       sp,sp,24
9D0002F4  03E00008   jr          ra
9D0002F8  00000000   nop         
107:                 
108:                 
109:                 double adder(double a, double b)
110:                 {
9D0002FC  27BDFFE0   addiu       sp,sp,-32
9D000300  AFBF001C   sw          ra,28(sp)
9D000304  AFBE0018   sw          s8,24(sp)
9D000308  03A0F021   addu        s8,sp,zero
9D00030C  AFC40020   sw          a0,32(s8)
9D000310  AFC50024   sw          a1,36(s8)
9D000314  AFC60028   sw          a2,40(s8)
9D000318  AFC7002C   sw          a3,44(s8)
111:                     double v;
112:                     v = a + b;
9D00031C  8FC40020   lw          a0,32(s8)
9D000320  8FC50024   lw          a1,36(s8)
9D000324  8FC60028   lw          a2,40(s8)
9D000328  8FC7002C   lw          a3,44(s8)
9D00032C  0F400259   jal         0x9d000964
9D000330  00000000   nop         
9D000334  AFC20010   sw          v0,16(s8)
9D000338  AFC30014   sw          v1,20(s8)
113:                     return v;
9D00033C  8FC20010   lw          v0,16(s8)
9D000340  8FC30014   lw          v1,20(s8)
114:                 }
9D000344  03C0E821   addu        sp,s8,zero
9D000348  8FBF001C   lw          ra,28(sp)
9D00034C  8FBE0018   lw          s8,24(sp)
9D000350  27BD0020   addiu       sp,sp,32
9D000354  03E00008   jr          ra
9D000358  00000000   nop         
115:                 
116:                 int factorial(int n)
117:                 {
9D00035C  27BDFFE0   addiu       sp,sp,-32
9D000360  AFBF001C   sw          ra,28(sp)
9D000364  AFBE0018   sw          s8,24(sp)
9D000368  03A0F021   addu        s8,sp,zero
9D00036C  AFC40020   sw          a0,32(s8)
118:                     if (n<=1) return 1;
9D000370  8FC20020   lw          v0,32(s8)
9D000374  28420002   slti        v0,v0,2
9D000378  10400005   beq         v0,zero,0x9d000390
9D00037C  00000000   nop         
9D000380  24020001   addiu       v0,zero,1
9D000384  AFC20010   sw          v0,16(s8)
9D000388  10000009   beq         zero,zero,0x9d0003b0
9D00038C  00000000   nop         
119:                     return n*factorial(n-1);
9D000390  8FC20020   lw          v0,32(s8)
9D000394  2442FFFF   addiu       v0,v0,-1
9D000398  00402021   addu        a0,v0,zero
9D00039C  0F4000D7   jal         0x9d00035c
9D0003A0  00000000   nop         
9D0003A4  8FC30020   lw          v1,32(s8)
9D0003A8  70431002   mul         v0,v0,v1
9D0003AC  AFC20010   sw          v0,16(s8)
120:                 }
9D0003B0  8FC20010   lw          v0,16(s8)
9D0003B4  03C0E821   addu        sp,s8,zero
9D0003B8  8FBF001C   lw          ra,28(sp)
9D0003BC  8FBE0018   lw          s8,24(sp)
9D0003C0  27BD0020   addiu       sp,sp,32
9D0003C4  03E00008   jr          ra
9D0003C8  00000000   nop         
121:                 
122:                 int diffofsums(int f, int g, int h, int i)
123:                 {
9D0003CC  27BDFFF0   addiu       sp,sp,-16
9D0003D0  AFBE0008   sw          s8,8(sp)
9D0003D4  03A0F021   addu        s8,sp,zero
9D0003D8  AFC40010   sw          a0,16(s8)
9D0003DC  AFC50014   sw          a1,20(s8)
9D0003E0  AFC60018   sw          a2,24(s8)
9D0003E4  AFC7001C   sw          a3,28(s8)
124:                   int result;
125:                   result = (f + g) - (h + i);
9D0003E8  8FC30010   lw          v1,16(s8)
9D0003EC  8FC20014   lw          v0,20(s8)
9D0003F0  00622021   addu        a0,v1,v0
9D0003F4  8FC30018   lw          v1,24(s8)
9D0003F8  8FC2001C   lw          v0,28(s8)
9D0003FC  00621021   addu        v0,v1,v0
9D000400  00821023   subu        v0,a0,v0
9D000404  AFC20000   sw          v0,0(s8)
126:                   return result;
9D000408  8FC20000   lw          v0,0(s8)
127:                 }
9D00040C  03C0E821   addu        sp,s8,zero
9D000410  8FBE0008   lw          s8,8(sp)
9D000414  27BD0010   addiu       sp,sp,16
9D000418  03E00008   jr          ra
9D00041C  00000000   nop         
---  \home\grosbaj\daytona-releases\pic32-microchip-release-1.00-rc3-20071024\pic32-libs\c\startup\crt0.S
BFC00000  3C1A9FC0   lui         k0,0x9fc0
BFC00004  275A0490   addiu       k0,k0,1168
BFC00008  03400008   jr          k0
BFC0000C  00000000   nop         
9FC00490  401A6000   mfc0        k0,Status
9FC00494  7F5A04C0   ext         k0,k0,19,1
9FC00498  13400005   beq         k0,zero,0x9fc004b0
9FC0049C  00000000   nop         
9FC004A0  3C1A9D00   lui         k0,0x9d00
9FC004A4  275A08C8   addiu       k0,k0,2248
9FC004A8  03400008   jr          k0
9FC004AC  00000000   nop         
9FC004B0  3C1DA001   lui         sp,0xa001
9FC004B4  27BD8000   addiu       sp,sp,-32768
9FC004B8  3C1CA001   lui         gp,0xa001
9FC004BC  279C80F0   addiu       gp,gp,-32528
9FC004C0  40096002   mfc0        t1,SRSCtl
9FC004C4  01205820   add         t3,t1,zero
9FC004C8  7D2A1E80   ext         t2,t1,26,4
9FC004CC  7D494984   ins         t1,t2,6,4
9FC004D0  40896002   mtc0        t1,SRSCtl
9FC004D4  41DCE000   wrpgpr      gp,gp
9FC004D8  408B6002   mtc0        t3,SRSCtl
9FC004DC  3C089D00   lui         t0,0x9d00
9FC004E0  250808B8   addiu       t0,t0,2232
9FC004E4  0100F809   jalr        ra,t0
9FC004E8  00000000   nop         
9FC004EC  3C08A000   lui         t0,0xa000
9FC004F0  250800F8   addiu       t0,t0,248
9FC004F4  3C09A000   lui         t1,0xa000
9FC004F8  2529021C   addiu       t1,t1,540
9FC004FC  10000006   beq         zero,zero,0x9fc00518
9FC00500  00000000   nop         
9FC00504  AD000000   sw          zero,0(t0)
9FC00508  AD000004   sw          zero,4(t0)
9FC0050C  AD000008   sw          zero,8(t0)
9FC00510  AD00000C   sw          zero,12(t0)
9FC00514  25080010   addiu       t0,t0,16
9FC00518  0109082B   sltu        at,t0,t1
9FC0051C  1420FFF9   bne         at,zero,0x9fc00504
9FC00520  00000000   nop         
9FC00524  3C089D07   lui         t0,0x9d07
9FC00528  25080EC0   addiu       t0,t0,3776
9FC0052C  3C09A000   lui         t1,0xa000
9FC00530  25290000   addiu       t1,t1,0
9FC00534  3C0AA000   lui         t2,0xa000
9FC00538  254A00F8   addiu       t2,t2,248
9FC0053C  10000005   beq         zero,zero,0x9fc00554
9FC00540  00000000   nop         
9FC00544  8D0B0000   lw          t3,0(t0)
9FC00548  AD2B0000   sw          t3,0(t1)
9FC0054C  25080004   addiu       t0,t0,4
9FC00550  25290004   addiu       t1,t1,4
9FC00554  012A082B   sltu        at,t1,t2
9FC00558  1420FFFA   bne         at,zero,0x9fc00544
9FC0055C  00000000   nop         
9FC00560  3C090000   lui         t1,0x0
9FC00564  25290000   addiu       t1,t1,0
9FC00568  1120001D   beq         t1,zero,0x9fc005e0
9FC0056C  00000000   nop         
9FC00570  3C089D07   lui         t0,0x9d07
9FC00574  25080FB8   addiu       t0,t0,4024
9FC00578  3C09A000   lui         t1,0xa000
9FC0057C  25290800   addiu       t1,t1,2048
9FC00580  3C0AA000   lui         t2,0xa000
9FC00584  254A0800   addiu       t2,t2,2048
9FC00588  8D0B0000   lw          t3,0(t0)
9FC0058C  AD2B0000   sw          t3,0(t1)
9FC00590  25080004   addiu       t0,t0,4
9FC00594  25290004   addiu       t1,t1,4
9FC00598  012A082B   sltu        at,t1,t2
9FC0059C  1420FFFA   bne         at,zero,0x9fc00588
9FC005A0  00000000   nop         
9FC005A4  3C090000   lui         t1,0x0
9FC005A8  25290800   addiu       t1,t1,2048
9FC005AC  3C0ABF88   lui         t2,0xbf88
9FC005B0  254A2010   addiu       t2,t2,8208
9FC005B4  AD490000   sw          t1,0(t2)
9FC005B8  3C090001   lui         t1,0x1
9FC005BC  25298000   addiu       t1,t1,-32768
9FC005C0  3C0ABF88   lui         t2,0xbf88
9FC005C4  254A2020   addiu       t2,t2,8224
9FC005C8  AD490000   sw          t1,0(t2)
9FC005CC  3C090001   lui         t1,0x1
9FC005D0  25298000   addiu       t1,t1,-32768
9FC005D4  3C0ABF88   lui         t2,0xbf88
9FC005D8  254A2030   addiu       t2,t2,8240
9FC005DC  AD490000   sw          t1,0(t2)
9FC005E0  40804800   mtc0        zero,Count
9FC005E4  240AFFFF   addiu       t2,zero,-1
9FC005E8  408A5800   mtc0        t2,Compare
9FC005EC  3C099FC0   lui         t1,0x9fc0
9FC005F0  25291000   addiu       t1,t1,4096
9FC005F4  40897801   mtc0        t1,EBase
9FC005F8  3C090000   lui         t1,0x0
9FC005FC  25290001   addiu       t1,t1,1
9FC00600  240A0000   addiu       t2,zero,0
9FC00604  7D2A4944   ins         t2,t1,5,5
9FC00608  408A6001   mtc0        t2,IntCtl
9FC0060C  3C090080   lui         t1,0x80
9FC00610  40896800   mtc0        t1,Cause
9FC00614  40088000   mfc0        t0,Config
9FC00618  7D090580   ext         t1,t0,22,1
9FC0061C  00094C40   sll         t1,t1,0x11
9FC00620  40086000   mfc0        t0,Status
9FC00624  3C010058   lui         at,0x58
9FC00628  01014024   and         t0,t0,at
9FC0062C  01284025   or          t0,t1,t0
9FC00630  40886000   mtc0        t0,Status
9FC00634  3C089D00   lui         t0,0x9d00
9FC00638  250808C0   addiu       t0,t0,2240
9FC0063C  0100F809   jalr        ra,t0
9FC00640  00000000   nop         
9FC00644  40086000   mfc0        t0,Status
9FC00648  3C01FFBF   lui         at,0xffbf
9FC0064C  3421FFFF   ori         at,at,0xffff
9FC00650  01014024   and         t0,t0,at
9FC00654  40886000   mtc0        t0,Status
9FC00658  30840000   andi        a0,a0,0x0
9FC0065C  30A50000   andi        a1,a1,0x0
9FC00660  3C089D00   lui         t0,0x9d00
9FC00664  25080000   addiu       t0,t0,0
9FC00668  01000008   jr          t0
9FC0066C  00000000   nop         
BFC00380  3C1A9D00   lui         k0,0x9d00
BFC00384  275A08B0   addiu       k0,k0,2224
BFC00388  03400008   jr          k0
BFC0038C  00000000   nop         
9FC01180  3C1A9D00   lui         k0,0x9d00
9FC01184  275A0420   addiu       k0,k0,1056
9FC01188  03400008   jr          k0
9FC0118C  00000000   nop         
9D000000  0F400006   jal         0x9d000018
9D000004  00000000   nop         
9D000008  0F40013C   jal         0x9d0004f0
9D00000C  00000000   nop         
9D000010  1000FFFF   beq         zero,zero,0x9d000010
9D000014  00000000   nop         
---  \home\grosbaj\daytona-releases\pic32-microchip-release-1.00-rc3-20071024\pic32-libs\c\startup\general-exception.S
9D000420  27BDFFB0   addiu       sp,sp,-80
9D000424  AFA10000   sw          at,0(sp)
9D000428  AFA20004   sw          v0,4(sp)
9D00042C  AFA30008   sw          v1,8(sp)
9D000430  AFA4000C   sw          a0,12(sp)
9D000434  AFA50010   sw          a1,16(sp)
9D000438  AFA60014   sw          a2,20(sp)
9D00043C  AFA70018   sw          a3,24(sp)
9D000440  AFA8001C   sw          t0,28(sp)
9D000444  AFA90020   sw          t1,32(sp)
9D000448  AFAA0024   sw          t2,36(sp)
9D00044C  AFAB0028   sw          t3,40(sp)
9D000450  AFAC002C   sw          t4,44(sp)
9D000454  AFAD0030   sw          t5,48(sp)
9D000458  AFAE0034   sw          t6,52(sp)
9D00045C  AFAF0038   sw          t7,56(sp)
9D000460  AFB8003C   sw          t8,60(sp)
9D000464  AFB90040   sw          t9,64(sp)
9D000468  AFBF0044   sw          ra,68(sp)
9D00046C  00004012   mflo        t0
9D000470  AFA80048   sw          t0,72(sp)
9D000474  00004010   mfhi        t0
9D000478  AFA80050   sw          t0,80(sp)
9D00047C  40046800   mfc0        a0,Cause
9D000480  40056000   mfc0        a1,Status
9D000484  0F40022A   jal         0x9d0008a8
9D000488  00000000   nop         
9D00048C  8FA80050   lw          t0,80(sp)
9D000490  01000011   mthi        t0
9D000494  8FA80048   lw          t0,72(sp)
9D000498  01000013   mtlo        t0
9D00049C  8FA10000   lw          at,0(sp)
9D0004A0  8FA20004   lw          v0,4(sp)
9D0004A4  8FA30008   lw          v1,8(sp)
9D0004A8  8FA4000C   lw          a0,12(sp)
9D0004AC  8FA50010   lw          a1,16(sp)
9D0004B0  8FA60014   lw          a2,20(sp)
9D0004B4  8FA70018   lw          a3,24(sp)
9D0004B8  8FA8001C   lw          t0,28(sp)
9D0004BC  8FA90020   lw          t1,32(sp)
9D0004C0  8FAA0024   lw          t2,36(sp)
9D0004C4  8FAB0028   lw          t3,40(sp)
9D0004C8  8FAC002C   lw          t4,44(sp)
9D0004CC  8FAD0030   lw          t5,48(sp)
9D0004D0  8FAE0034   lw          t6,52(sp)
9D0004D4  8FAF0038   lw          t7,56(sp)
9D0004D8  8FB8003C   lw          t8,60(sp)
9D0004DC  8FB90040   lw          t9,64(sp)
9D0004E0  8FBF0044   lw          ra,68(sp)
9D0004E4  27BD0050   addiu       sp,sp,80
9D0004E8  000000C0   ehb         
9D0004EC  42000018   eret        
---  \home\grosbaj\daytona-releases\pic32-microchip-release-1.00-rc3-20071024\pic32-libs\c\stubs\default-nmi-handler.S
9D0008C8  401A6000   mfc0        k0,Status
9D0008CC  3C1BFFBF   lui         k1,0xffbf
9D0008D0  377BFFFF   ori         k1,k1,0xffff
9D0008D4  035BD024   and         k0,k0,k1
9D0008D8  409A6000   mtc0        k0,Status
9D0008DC  42000018   eret        


Maintained by John Loomis, last updated Sat Mar 13 20:08:24 2010