1 #objdump: -S -r 2 #as: -m68hc12 -gdwarf2 3 #name: 68HC12 PC-relative addressing modes (bug-1825) 4 5 .*: file format elf32\-m68hc12 6 7 Disassembly of section \.text: 8 9 0+ <_main>: 10 ;;; .* 11 ;;; 12 \.sect \.text 13 \.globl _main 14 _main: 15 nop 16 0: a7 nop 17 ldx L1,pc ; Assemble to 5\-bit > 0 offset 18 1: ee c2 ldx 0x2,PC \{0x5 <L1>\} 19 bra L2 20 3: 20 02 bra 0x7 <L2> 21 3: R_M68HC12_RL_JUMP \*ABS\* 22 23 0+5 <L1>: 24 5: aa bb oraa 5,SP\- 25 26 0+7 <L2>: 27 L1: 28 .dc.w 0xaabb 29 L2: 30 subd L1,pc ; Assemble to 5\-bit < 0 offset 31 7: a3 dc subd 0xfffc,PC \{0x5 <L1>\} 32 33 0+9 <L3>: 34 9: a7 nop 35 a: a7 nop 36 b: a7 nop 37 c: a7 nop 38 d: a7 nop 39 e: a7 nop 40 f: a7 nop 41 10: a7 nop 42 11: a7 nop 43 12: a7 nop 44 13: a7 nop 45 14: a7 nop 46 15: a7 nop 47 16: a7 nop 48 L3: 49 .ds.b 14, 0xA7 50 ldab L3,pc ; 5\-bit < 0 offset 51 17: e6 d0 ldab 0xfff0,PC \{0x9 <L3>\} 52 ldab L4,pc ; 5\-bit > 0 offset 53 19: e6 cf ldab 0xf,PC \{0x2a <L4>\} 54 ... 55 56 0+2a <L4>: 57 ... 58 .skip 15 59 L4: 60 .skip 128 61 subd L4,pc ; 9\-bit < 0 offset 62 aa: a3 f9 7d subd 0xff7d,PC \{0x2a <L4>\} 63 addd L5,pc ; 9\-bit > 0 offset 64 ad: e3 f8 80 addd 0x80,PC \{0x130 <L5>\} 65 ... 66 67 0+130 <L5>: 68 ... 69 22c: 00 bgnd 70 .skip 128 71 L5: 72 .skip 256\-3 73 orab L5,pc ; 9 bit < 0 offset \(min value\) 74 22d: ea f9 00 orab 0xff00,PC \{0x130 <L5>\} 75 oraa L6,pc ; 9 bit > 0 offset \(max value\) 76 230: aa f8 ff oraa 0xff,PC \{0x332 <L6>\} 77 ... 78 79 0+332 <L6>: 80 ... 81 42e: 00 bgnd 82 42f: 00 bgnd 83 .skip 255 84 L6: 85 .skip 256\-2 86 orab L6,pc ; 16 bit < 0 offset 87 430: ea fa fe fe orab 0xfefe,PC \{0x332 <L6>\} 88 anda _main,pc ; 16 bit < 0 offset 89 434: a4 fa fb c8 anda 0xfbc8,PC \{0x0 <_main>\} 90 andb L7,pc 91 438: e4 fa 01 00 andb 0x100,PC \{0x53c <L7>\} 92 ... 93 94 0+53c <L7>: 95 .skip 256 96 L7: 97 stab external,pc ; External 16\-bit PCREL 98 53c: 6b fa fa c0 stab 0xfac0,PC \{0x0 <_main>\} 99 53e: R_M68HC12_PCREL_16 external 100 ldd _table,pc 101 540: ec cf ldd 0xf,PC \{0x551 <_table>\} 102 addd _table\+2,pc 103 542: e3 cf addd 0xf,PC \{0x553 <_table\+0x2>\} 104 subd _table\+4,pc 105 544: a3 cf subd 0xf,PC \{0x555 <_table\+0x4>\} 106 addd _table\+8,pc 107 546: e3 f8 10 addd 0x10,PC \{0x559 <_table\+0x8>\} 108 addd _table\+12,pc 109 549: e3 f8 11 addd 0x11,PC \{0x55d <_table\+0xc>\} 110 addd _table\+16,pc 111 54c: e3 f8 12 addd 0x12,PC \{0x561 <_table\+0x10>\} 112 rts 113 54f: 3d rts 114 nop 115 550: a7 nop 116 117 0+551 <_table>: 118 ... 119 _table: 120 .ds.b 16,0 121 leax _table,sp ; 16\-bit absolute reloc 122 561: 1a f2 00 00 leax 0x0,SP 123 563: R_M68HC12_16 _table 124 leay _table,x 125 565: 19 e2 00 00 leay 0x0,X 126 567: R_M68HC12_16 _table 127 leax _table,y 128 569: 1a ea 00 00 leax 0x0,Y 129 56b: R_M68HC12_16 _table 130