A procedure example of Section 3.7.4
{"Image DocumentName": "A procedure example of Section 3.7.4", "Image ImageDescription": "C Code (swap_add.c) int swap_add(int  xp, int  yp) { int x =  xp; int y =  yp;  xp = y;  yp = x; return x + y; } Here is the assembly code generated: swap_add: pushl %ebp movl %esp, %ebp pushl %ebx movl 8(%ebp), %edx // xp into %edx movl 12(%ebp), %ecx // yp into %ecx movl (%edx), %ebx // x, i.e. %ebx =  xp movl (%ecx), %eax // y, i.e. %eax =  yp movl %eax, (%edx) //  xp =  yp movl %ebx, (%ecx) //  yp =  xp addl %ebx, %eax // %eax = x +y for return popl %ebx popl %ebp ret", "Image XResolution": "37", "Image YResolution": "37", "Image ResolutionUnit": "Pixels/Centimeter", "Image Software": "SlidePlayer", "Image YCbCrPositioning": "Centered"}