================================================= How a high level language turns into machine code ================================================= -IAN! idallen@ncf.ca Input to C compiler: static int AAA = 111; static int BBB = 222; main(){ if ( AAA <= 333 ) { AAA = 444; BBB = 555; } else { AAA = 666; BBB = 777; } } Assembly-language output from compiler: .file "smallprog.c" .version "01.01" gcc2_compiled.: .data .align 4 .type AAA,@object .size AAA,4 AAA: .long 111 .align 4 .type BBB,@object .size BBB,4 BBB: .long 222 .text .align 4 .globl main .type main,@function main: pushl %ebp movl %esp,%ebp cmpl $333,AAA jg .L3 movl $444,AAA movl $555,BBB jmp .L4 .p2align 4,,7 .L3: movl $666,AAA movl $777,BBB .L4: movl %ebp,%esp popl %ebp ret .Lfe1: .size main,.Lfe1-main .ident "GCC: (GNU) 2.95.3 19991030 (prerelease)"