Difference between revisions of "Code Generation/Exercise 5"

From Wiki**3

< Code Generation
(Compiling and Running)
(Postfix Code)
Line 20: Line 20:
  
 
The Postfix code for the above function is as follows:  
 
The Postfix code for the above function is as follows:  
 
+
{{CollapsedCode|Postfix code|
 
<asm>
 
<asm>
  
 
</asm>
 
</asm>
 +
}}
  
 
== Compiling and Running ==
 
== Compiling and Running ==

Revision as of 09:32, 9 May 2017

The Original Code

Consider the following C function:

<c> int gcd(int a, int b) {

 static int temp = 0;
 if (temp) temp = swap(&a, &b);
 while (1) {
   a %= b;
   if (a == 0) break;
   b %= a;
   if (b == 0) return a;
 }
 return b;

} </c>

Postfix Code

The Postfix code for the above function is as follows:

Postfix code

<asm>

</asm>

Compiling and Running

To compile the Postfix code directly, pf2asm can be used:

pf2asm gcd.pf
yasm -felf gcd.asm