1 #name: MIPS16 interlinking for local functions 1 2 #source: mips16-local-stubs-1.s 3 #as: -mips4 4 #ld: -Ttext 0x20000000 -e caller1 5 #objdump: -dr 6 #... 7 Disassembly of section \.text: 8 9 20000000 <f1>: 10 20000000: 03e00008 jr ra 11 20000004: 00000000 nop 12 13 20000008 <g1>: 14 20000008: 03e00008 jr ra 15 2000000c: 00000000 nop 16 17 20000010 <h1>: 18 20000010: e820 jr ra 19 20000012: 6500 nop 20 21 20000014 <f2>: 22 20000014: 03e00008 jr ra 23 20000018: 00000000 nop 24 25 2000001c <g2>: 26 2000001c: 03e00008 jr ra 27 20000020: 00000000 nop 28 29 20000024 <h2>: 30 20000024: e820 jr ra 31 20000026: 6500 nop 32 33 20000028 <f3>: 34 20000028: 03e00008 jr ra 35 2000002c: 00000000 nop 36 37 20000030 <g3>: 38 20000030: 03e00008 jr ra 39 20000034: 00000000 nop 40 41 20000038 <h3>: 42 20000038: e820 jr ra 43 2000003a: 6500 nop 44 45 2000003c <caller1>: 46 2000003c: 0c000000 jal 20000000 <f1> 47 20000040: 00000000 nop 48 20000044: 0c000005 jal 20000014 <f2> 49 20000048: 00000000 nop 50 2000004c: 0c000002 jal 20000008 <g1> 51 20000050: 00000000 nop 52 20000054: 0c000007 jal 2000001c <g2> 53 20000058: 00000000 nop 54 2000005c: 0c000024 jal 20000090 <stub_for_h1> 55 20000060: 00000000 nop 56 20000064: 0c000028 jal 200000a0 <stub_for_h2> 57 20000068: 00000000 nop 58 59 2000006c <caller2>: 60 2000006c: 1c00 002c jalx 200000b0 <stub_for_f1> 61 20000070: 6500 nop 62 20000072: 1c00 0034 jalx 200000d0 <stub_for_f2> 63 20000076: 6500 nop 64 20000078: 1c00 0030 jalx 200000c0 <stub_for_g1> 65 2000007c: 6500 nop 66 2000007e: 1c00 0038 jalx 200000e0 <stub_for_g2> 67 20000082: 6500 nop 68 20000084: 1800 0004 jal 20000010 <h1> 69 20000088: 6500 nop 70 2000008a: 1800 0009 jal 20000024 <h2> 71 2000008e: 6500 nop 72 73 20000090 <stub_for_h1>: 74 20000090: 3c012000 lui at,0x2000 75 20000094: 24210011 addiu at,at,17 76 20000098: 00200008 jr at 77 2000009c: 00000000 nop 78 79 200000a0 <stub_for_h2>: 80 200000a0: 3c012000 lui at,0x2000 81 200000a4: 24210025 addiu at,at,37 82 200000a8: 00200008 jr at 83 200000ac: 00000000 nop 84 85 200000b0 <stub_for_f1>: 86 200000b0: 3c012000 lui at,0x2000 87 200000b4: 24210000 addiu at,at,0 88 200000b8: 00200008 jr at 89 200000bc: 00000000 nop 90 91 200000c0 <stub_for_g1>: 92 200000c0: 3c012000 lui at,0x2000 93 200000c4: 24210008 addiu at,at,8 94 200000c8: 00200008 jr at 95 200000cc: 00000000 nop 96 97 200000d0 <stub_for_f2>: 98 200000d0: 3c012000 lui at,0x2000 99 200000d4: 24210014 addiu at,at,20 100 200000d8: 00200008 jr at 101 200000dc: 00000000 nop 102 103 200000e0 <stub_for_g2>: 104 200000e0: 3c012000 lui at,0x2000 105 200000e4: 2421001c addiu at,at,28 106 200000e8: 00200008 jr at 107 200000ec: 00000000 nop 108