previous | start | next

IA32 Assembler for: assignment statements (1)

The return value for a function is always expected to be in register %eax.

So the assembler ret instruction doesn't have an operand. The return value is implicitly whatever is in register %eax.

In the following examples register %eax will be denoted by reg1

int sum(int a, int b)    sum:                          
{                                                                              
  int ans;               reg1 = b                      
  ans = a + b;           add a, reg   // reg = reg + a 
  return ans;            mov reg1, ans                 
}                        mov ans, reg1
                         return                        


previous | start | next