I've been trying to understand assembly language code generated by GCC and frequently encounter this instruction at the start of many functions including _start(), but couldn't find any guide explaining its purpose:
31-0000000000001040 <_start>:
32:    1040:    f3 0f 1e fa             endbr64
33-    1044:    31 ed                   xor    ebp,ebp
 
                                
                            