Back to index

cell-binutils  2.17cvs20070401
bug-1825.d
Go to the documentation of this file.
00001 #objdump: -S -r
00002 #as: -m68hc12 -gdwarf2
00003 #name: 68HC12 PC-relative addressing modes (bug-1825)
00004 
00005 .*:     file format elf32\-m68hc12
00006 
00007 Disassembly of section \.text:
00008 
00009 0+ <_main>:
00010 ;;; 
00011        \.sect \.text
00012        \.globl _main
00013 _main:
00014        nop
00015    0:  a7            nop
00016        ldx    L1,pc         ; Assemble to 5\-bit > 0 offset
00017    1:  ee c2         ldx    2,PC \{5 <L1>\}
00018        bra    L2
00019    3:  20 02         bra    7 <L2>
00020                      3: R_M68HC12_RL_JUMP \*ABS\*
00021 
00022 0+5 <L1>:
00023    5:  aa bb         oraa   5,SP\-
00024 
00025 0+7 <L2>:
00026 L1:
00027        .dc.w  0xaabb
00028 L2:
00029        subd   L1,pc         ; Assemble to 5\-bit < 0 offset
00030    7:  a3 dc         subd   \-4,PC \{5 <L1>\}
00031 
00032 0+9 <L3>:
00033    9:  a7            nop
00034    a:  a7            nop
00035    b:  a7            nop
00036    c:  a7            nop
00037    d:  a7            nop
00038    e:  a7            nop
00039    f:  a7            nop
00040   10:  a7            nop
00041   11:  a7            nop
00042   12:  a7            nop
00043   13:  a7            nop
00044   14:  a7            nop
00045   15:  a7            nop
00046   16:  a7            nop
00047 L3:
00048        .ds.b  14, 0xA7
00049        ldab   L3,pc         ; 5\-bit < 0 offset
00050   17:  e6 d0         ldab   \-16,PC \{9 <L3>\}
00051        ldab   L4,pc         ; 5\-bit > 0 offset
00052   19:  e6 cf         ldab   15,PC \{2a <L4>\}
00053        ...
00054 
00055 0+2a <L4>:
00056        ...
00057        .skip  15
00058 L4:
00059        .skip  128
00060        subd   L4,pc         ; 9\-bit < 0 offset
00061   aa:  a3 f9 7d      subd   \-131,PC \{2a <L4>\}
00062        addd   L5,pc         ; 9\-bit > 0 offset
00063   ad:  e3 f8 80      addd   128,PC \{130 <L5>\}
00064        ...
00065 
00066 0+130 <L5>:
00067        ...
00068  22c:  00            bgnd
00069        .skip  128
00070 L5:
00071        .skip  256\-3
00072        orab   L5,pc         ; 9 bit < 0 offset \(min value\)
00073  22d:  ea f9 00      orab   \-256,PC \{130 <L5>\}
00074        oraa   L6,pc         ; 9 bit > 0 offset \(max value\)
00075  230:  aa f8 ff      oraa   255,PC \{332 <L6>\}
00076        ...
00077 
00078 0+332 <L6>:
00079        ...
00080  42e:  00            bgnd
00081  42f:  00            bgnd
00082        .skip  255
00083 L6:
00084        .skip  256\-2
00085        orab   L6,pc         ; 16 bit < 0 offset
00086  430:  ea fa fe fe   orab   \-258,PC \{332 <L6>\}
00087        anda   _main,pc      ; 16 bit < 0 offset
00088  434:  a4 fa fb c8   anda   \-1080,PC \{0 <_main>\}
00089        andb   L7,pc
00090  438:  e4 fa 01 00   andb   256,PC \{53c <L7>\}
00091        ...
00092 
00093 0+53c <L7>:
00094        .skip  256
00095 L7:
00096        stab   external,pc   ; External 16\-bit PCREL
00097  53c:  6b fa fa c0   stab   \-1344,PC \{0 <_main>\}
00098                      53e: R_M68HC12_PCREL_16     external
00099        ldd    _table,pc
00100  540:  ec cf         ldd    15,PC \{551 <_table>\}
00101        addd   _table\+2,pc
00102  542:  e3 cf         addd   15,PC \{553 <_table\+0x2>\}
00103        subd   _table\+4,pc
00104  544:  a3 cf         subd   15,PC \{555 <_table\+0x4>\}
00105        addd   _table\+8,pc
00106  546:  e3 f8 10      addd   16,PC \{559 <_table\+0x8>\}
00107        addd   _table\+12,pc
00108  549:  e3 f8 11      addd   17,PC \{55d <_table\+0xc>\}
00109        addd   _table\+16,pc
00110  54c:  e3 f8 12      addd   18,PC \{561 <_table\+0x10>\}
00111        rts
00112  54f:  3d            rts
00113        nop
00114  550:  a7            nop
00115 
00116 0+551 <_table>:
00117        ...
00118 _table:
00119        .ds.b  16,0
00120        leax   _table,sp     ; 16\-bit absolute reloc
00121  561:  1a f2 00 00   leax   0,SP
00122                      563: R_M68HC12_16    _table
00123        leay   _table,x
00124  565:  19 e2 00 00   leay   0,X
00125                      567: R_M68HC12_16    _table
00126        leax   _table,y
00127  569:  1a ea 00 00   leax   0,Y
00128                      56b: R_M68HC12_16    _table