|
|
|
Объявление массива |
|
Строка: |
|
|
● |
Hello db ‘Hello, world’, 0 |
|
|
Числа: |
|
|
● |
a dd 1,2,3,4,5 |
(в данном случае dd характеризует размер каждого элемента) |
● |
b dd 7 dup (1) |
|
(в данном случае создается массив 7 элементов, который полностью |
|
заполнен единицами – 1,1,1,1,1,1,1) |
● |
c dd 5 dup (3, 7) |
(в данном случае размер массива вычисляется произведением 5 на |
|
количество символов в скобках после dup. 5*2=10. 10 ячеек, которые будут заполнены |
|
следующим образом: 3,7,3,7,3,7,3,7,3,7) |
Инструкции стека
Инструкция PUSH
Стек – область ОП, предназначенная для временного хранения данных, для передачи
аргументов в функции и для хранения адресов возврата. В конце работы программы в стеке
ничего не должно остаться.
Инструкция push позволяет помещать данные в стек. Положить в стек содержимое 8 битных
процессоров нельзя. В стек нельзя поместить 64 битную константу. push op1
op1 —> stack
op1: reg(>8bit), mem, const(<64bit)
Пример:
● push eax
● push word [ebx]
Инструкция pop
Pop – инструкция извлечения данных из стека.
pop op1
stack —> op1
op1: reg(>8bit), mem
Пример:
● pop eax
● pop word [ebx]