|
int main( int argc, char *argv[] ) { int a; a = 1234567; printf("%d\n", a); } |
translates the statement a = 1234567 into:
movl $1234567, -4(%rbp) // == move.l #1234567, -4(a6) |
How to compile the program:
|
However:
int main( int argc, char *argv[] ) { register int a; a = 1234567; printf("%d\n", a); } |
translates the statement a = 1234567 into:
movl $1234567, %ebx // Similar to: move.l #1234567, d0 *** Uses register ebx for variable a !!! |
How to compile the program:
|
|