### ------------------------------------------------------------------ ### hello.s ### Author: Bob Dondero ### Assembly language fundamentals ### ------------------------------------------------------------------ .section ".rodata" cGreeting: .asciz "Hello\n" ### ------------------------------------------------------------------ .section ".data" ### ------------------------------------------------------------------ .section ".bss" ### ------------------------------------------------------------------ .section ".text" ## ----------------------------------------------------------- ## int main(int argc, char *argv[]) ## Write "Hello\n" to stdout. Return 0. ## ----------------------------------------------------------- ## Formal parameter offsets: .equ ARGC, 8 .equ ARGV, 12 .globl main .type main,@function main: pushl %ebp movl %esp, %ebp ## printf("Hello\n"); pushl $cGreeting call printf addl $4, %esp ## return 0; movl $0, %eax movl %ebp, %esp popl %ebp ret