section .data
numbers db 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ; Масив чисел
result times 15 db 0 ; Масив для результату
section .text
global _start
_start:
; Ініціалізація
lea rsi, [numbers] ; Вказівник на початок масиву numbers
lea rdi, [result] ; Вказівник на початок масиву result
mov rcx, 15 ; Кількість елементів у масиві
; Запис чисел у стек
push_loop:
movzx rax, byte [rsi] ; Зчитуємо 1 байт (число) з масиву numbers
push rax ; Записуємо число у стек
inc rsi ; Переходимо до наступного елемента масиву
loop push_loop ; Зменшуємо rcx, повторюємо, якщо rcx > 0
; Читання чисел зі стека у зворотному порядку
mov rcx, 15 ; Знову 15 елементів для зчитування
pop_loop:
pop rax ; Зчитуємо число зі стеку
mov byte [rdi], al ; Записуємо молодший байт (число) у result
inc rdi ; Переходимо до наступної позиції у result
loop pop_loop ; Зменшуємо rcx, повторюємо, якщо rcx > 0
; Завершення програми
mov rax
, 60 ; Системний виклик
exit xor rdi, rdi ; Код завершення = 0
syscall
c2VjdGlvbiAuZGF0YQogICAgbnVtYmVycyBkYiAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1IDsg0JzQsNGB0LjQsiDRh9C40YHQtdC7CiAgICByZXN1bHQgIHRpbWVzIDE1IGRiIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7INCc0LDRgdC40LIg0LTQu9GPINGA0LXQt9GD0LvRjNGC0LDRgtGDCgpzZWN0aW9uIC50ZXh0Cmdsb2JhbCBfc3RhcnQKCl9zdGFydDoKICAgIDsg0IbQvdGW0YbRltCw0LvRltC30LDRhtGW0Y8KICAgIGxlYSByc2ksIFtudW1iZXJzXSAgICAgIDsg0JLQutCw0LfRltCy0L3QuNC6INC90LAg0L/QvtGH0LDRgtC+0Log0LzQsNGB0LjQstGDIG51bWJlcnMKICAgIGxlYSByZGksIFtyZXN1bHRdICAgICAgIDsg0JLQutCw0LfRltCy0L3QuNC6INC90LAg0L/QvtGH0LDRgtC+0Log0LzQsNGB0LjQstGDIHJlc3VsdAogICAgbW92IHJjeCwgMTUgICAgICAgICAgICAgOyDQmtGW0LvRjNC60ZbRgdGC0Ywg0LXQu9C10LzQtdC90YLRltCyINGDINC80LDRgdC40LLRlgoKICAgIDsg0JfQsNC/0LjRgSDRh9C40YHQtdC7INGDINGB0YLQtdC6CnB1c2hfbG9vcDoKICAgIG1vdnp4IHJheCwgYnl0ZSBbcnNpXSAgIDsg0JfRh9C40YLRg9GU0LzQviAxINCx0LDQudGCICjRh9C40YHQu9C+KSDQtyDQvNCw0YHQuNCy0YMgbnVtYmVycwogICAgcHVzaCByYXggICAgICAgICAgICAgICAgOyDQl9Cw0L/QuNGB0YPRlNC80L4g0YfQuNGB0LvQviDRgyDRgdGC0LXQugogICAgaW5jIHJzaSAgICAgICAgICAgICAgICAgOyDQn9C10YDQtdGF0L7QtNC40LzQviDQtNC+INC90LDRgdGC0YPQv9C90L7Qs9C+INC10LvQtdC80LXQvdGC0LAg0LzQsNGB0LjQstGDCiAgICBsb29wIHB1c2hfbG9vcCAgICAgICAgICA7INCX0LzQtdC90YjRg9GU0LzQviByY3gsINC/0L7QstGC0L7RgNGO0ZTQvNC+LCDRj9C60YnQviByY3ggPiAwCgogICAgOyDQp9C40YLQsNC90L3RjyDRh9C40YHQtdC7INC30ZYg0YHRgtC10LrQsCDRgyDQt9Cy0L7RgNC+0YLQvdC+0LzRgyDQv9C+0YDRj9C00LrRgwogICAgbW92IHJjeCwgMTUgICAgICAgICAgICAgOyDQl9C90L7QstGDIDE1INC10LvQtdC80LXQvdGC0ZbQsiDQtNC70Y8g0LfRh9C40YLRg9Cy0LDQvdC90Y8KCnBvcF9sb29wOgogICAgcG9wIHJheCAgICAgICAgICAgICAgICAgOyDQl9GH0LjRgtGD0ZTQvNC+INGH0LjRgdC70L4g0LfRliDRgdGC0LXQutGDCiAgICBtb3YgYnl0ZSBbcmRpXSwgYWwgICAgICA7INCX0LDQv9C40YHRg9GU0LzQviDQvNC+0LvQvtC00YjQuNC5INCx0LDQudGCICjRh9C40YHQu9C+KSDRgyByZXN1bHQKICAgIGluYyByZGkgICAgICAgICAgICAgICAgIDsg0J/QtdGA0LXRhdC+0LTQuNC80L4g0LTQviDQvdCw0YHRgtGD0L/QvdC+0Zcg0L/QvtC30LjRhtGW0Zcg0YMgcmVzdWx0CiAgICBsb29wIHBvcF9sb29wICAgICAgICAgICA7INCX0LzQtdC90YjRg9GU0LzQviByY3gsINC/0L7QstGC0L7RgNGO0ZTQvNC+LCDRj9C60YnQviByY3ggPiAwCgogICAgOyDQl9Cw0LLQtdGA0YjQtdC90L3RjyDQv9GA0L7Qs9GA0LDQvNC4CiAgICBtb3YgcmF4LCA2MCAgICAgICAgICAgICA7INCh0LjRgdGC0LXQvNC90LjQuSDQstC40LrQu9C40LogZXhpdAogICAgeG9yIHJkaSwgcmRpICAgICAgICAgICAgOyDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y8gPSAwCiAgICBzeXNjYWxs