1. [Ilustrativni primer: instrukcije mov i lea, rad sa stekom] a) Neka je funkcija long long unsigned mov_lea(); implementirana na sledeci nacin: mov_lea: enter 0, 0 mov rbx, 123 push rbx # a) # mov rax, rsp # b) # mov rax, [rsp] # c) # lea rax, rsp # d) # lea rax, [rsp] leave ret Otkomentarisanjem odgovarajucih delova (a), b) c) ili d)), u kojim slucajevima se program prevodi? U onim slucajevima gde se program prevodi, sta vraca funkcija mov_lea? b) Neka je u .data sekciji definisan podatak x: .data x: .quad 234 Neka je funkcija long long unsigned mov_lea(); implementirana na sledeci nacin: mov_lea: enter 0, 0 # a) # mov rax, x # b) # mov rax, [x] # c) # lea rax, x # d) # lea rax, [x] leave ret Otkomentarisanjem odgovarajucih delova (a), b) c) ili d)), u kojim slucajevima se program prevodi? U onim slucajevima gde se program prevodi, sta vraca funkcija mov_lea? 2. U asembleru implementirati funkciju void swap(int *x, int *y); koja menja celobrojne vrednosti upisane u promenljivama na koje pokazuju pokazivaci x i y. Zatim, napisati i C program koji testira ovu funkciju.