.section .text data_items: .long 5,50,500,0 message: .asciz "The total is %d\n" main: movl $0, %edi movl data_items(,%edi,4), %eax movl %eax, %ebx start_loop: cmpl $0, %eax je loop_exit incl %edi movl data_items(,%edi,4), %eax addl %eax, %ebx jmp start_loop loop_exit: # Divide movl %ebx, %eax movl $0, %edx idivl %edi movl %eax, %ebx # Call printf push %rbx mov $message, %rdi mov %ebx, %esi mov $0, %rax call printf pop %rbx # Done calling printf now