I am trying to understand assembly which is generated by the gcc(Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008.
I have written simple c code.
#include<stdio.h>
int main()
{
    volatile int a;
    a=45;
    return 0;
}
and complied with is command - gcc -S -O -o prog_assembly.asm prog_assembly.c
I got assembly
    .file   "prog_assembly.c"
    .text
    .globl  main
    .type   main, @function
main:
.LFB23:
    .cfi_startproc
    endbr64
    movl    $45, -4(%rsp)
    movl    $0, %eax
    ret
    .cfi_endproc
.LFE23:
    .size   main, .-main
    .ident  "GCC: (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008"
    .section    .note.GNU-stack,"",@progbits
    .section    .note.gnu.property,"a"
    .align 8
    .long    1f - 0f
    .long    4f - 1f
    .long    5
0:
    .string  "GNU"
1:
    .align 8
    .long    0xc0000002
    .long    3f - 2f
2:
    .long    0x3
3:
    .align 8
4:
I want to understand each statement of assembly. Where I can find the documents which will contain all information?
 
    