The disassembler incorrectly shows ADDD 0xfffffff8 as ADDD 0x18

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Low
    • Code Generation Tools
    • CODEGEN-13098
    • Hide
      C7000_1.4.0.LTS
      C7000_6.x.0.LTS*
      C7000_2.1.0.LTS
      C7000_5.0.0.LTS
      C7000_3.1.0.LTS
      C7000_6.1.0.STS
      C7000_4.1.0.LTS
      Show
      C7000_1.4.0.LTS C7000_6.x.0.LTS* C7000_2.1.0.LTS C7000_5.0.0.LTS C7000_3.1.0.LTS C7000_6.1.0.STS C7000_4.1.0.LTS
    • default

      The attached file has these instructions, which are copied from compiler generated assembly.

         MVC .S1 RP,A8
      || STD .D1 A8,*SP(8)
      
         CALL .B1 ||external_function||
      || ADDD .D1 SP,0xfffffff8,SP
      

      Build it, then disassemble.

      % cl7x file.asm
      % dis7x file.obj
      
      Disassembly of file.obj:
      
      TEXT Section .text (Little Endian), 0x40 bytes at 0x000000000000
      0x000000000000   20016845    MVC .S1 RP,A8
      0x000000000004   201f8770 || STD .D1 A8,*D15(0x8)
      0x000000000008   7d8bc9bd    ADDD .D1 D15,0x18,D15
      0x00000000000c   000003be || CALL .B1 $+0xc
      

      The constant in the ADDD instruction is wrong.

            Assignee:
            TI User
            Reporter:
            TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:

                Connection: Intermediate to External PROD System
                EXTSYNC-4829 - The disassembler incorrectly shows ...
                SYNCHRONIZED
                • Last Sync Date: