<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Other NXP ProductsのトピックRe: Inline assembly - PowerPC -  return value override</title>
    <link>https://community.nxp.com/t5/Other-NXP-Products/Inline-assembly-PowerPC-return-value-override/m-p/1796736#M20918</link>
    <description>&lt;P&gt;Please &lt;SPAN&gt;disassemble the library code provided in CodeWarrior project to generate&amp;nbsp;assembly code.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 29 Jan 2024 09:15:13 GMT</pubDate>
    <dc:creator>yipingwang</dc:creator>
    <dc:date>2024-01-29T09:15:13Z</dc:date>
    <item>
      <title>Inline assembly - PowerPC -  return value override</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/Inline-assembly-PowerPC-return-value-override/m-p/1792440#M20849</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hello community!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I want to create some inline assembly examples for PowerPC architecture.&lt;BR /&gt;During the implementation I encountered several challenges.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;For Example:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Function that sum two local variables and return the sum value.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;While debugging the code I found out the code save the correct&amp;nbsp;sum value in r0 register, but before it return value, I saw the r3 override&amp;nbsp;with 0 value.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;int my_asm_add_local(void)
{
    int sum = 0;
    int a = 4, b = 2;

    asm volatile("se_add %1, %2\n\t"
                 "se_stw %1, 0(%0)\n\t"
                 : "=r" (sum)
                 : "r" (a), "r" (b)
    );

    return sum;
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;code from debugger&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;int my_asm_add_local(void)
182106F0  my_asm_a.:e_stwu    r1,-0x10(r1)   ; r1,-16(r1)
0080                se_mflr   r0
D501                se_stw    r0,0x14(r1)    ; a,20(r1)
{
    int sum = 0;
    int a = 4, b = 2;
4840                se_li     r0,0x4         ; a,4
4823                se_li     r3,0x2         ; r3,2

    asm volatile("se_add %1, %2\n\t"
0430                se_add    r0,r3          ; a,b
D003                se_stw    r0,0x0(r3)     ; a,0(r3)
                 "se_stw %1, 0(%0)\n\t"
                 : "=r" (sum)
                 : "r" (a), "r" (b)
    );

    return sum;
4803                se_li     r3,0x0         ; b,0
}
C501                se_lwz    r0,0x14(r1)    ; a,20(r1)
0090                se_mtlr   r0
20F1                se_addi   r1,0x10        ; r1,16
0004                se_blr
4444                se_or     r4,r4&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;BR /&gt;&amp;nbsp;I would appreciate any help.&lt;BR /&gt;&lt;BR /&gt;In addition, if anyone knows a good source information with examples of inline assembly for PowerPC, it is could be help.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 21 Jan 2024 09:31:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/Inline-assembly-PowerPC-return-value-override/m-p/1792440#M20849</guid>
      <dc:creator>Ido100</dc:creator>
      <dc:date>2024-01-21T09:31:29Z</dc:date>
    </item>
    <item>
      <title>Re: Inline assembly - PowerPC -  return value override</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/Inline-assembly-PowerPC-return-value-override/m-p/1796736#M20918</link>
      <description>&lt;P&gt;Please &lt;SPAN&gt;disassemble the library code provided in CodeWarrior project to generate&amp;nbsp;assembly code.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 29 Jan 2024 09:15:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/Inline-assembly-PowerPC-return-value-override/m-p/1796736#M20918</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2024-01-29T09:15:13Z</dc:date>
    </item>
  </channel>
</rss>

