Системные вызовы и адресация

Содержание

Слайд 2

Ассемблер: Системные вызовы Linux

Для использования системных вызовов Linux необходимо выполнить следующие шаги:
Поместите

Ассемблер: Системные вызовы Linux Для использования системных вызовов Linux необходимо выполнить следующие
номер системного вызова в регистр EAX.
Сохраните аргументы системного вызова в регистрах EBX, ECX и т. д.
Вызовите соответствующее прерывание (80h).
Результат обычно возвращается в регистр EAX.

Слайд 3

Примеры использования системного вызова

использование системного вызова sys_exit

использование системного вызова sys_write

Примеры использования системного вызова использование системного вызова sys_exit использование системного вызова sys_write

Слайд 4

Посмотрите на следующую простую программу, чтобы понять использование регистров в программировании на

Посмотрите на следующую простую программу, чтобы понять использование регистров в программировании на
Ассемблере.
Эта программа отображает 9 звезд на экране вместе с простым сообщением.

Слайд 5

Следующий пример читает число с клавиатуры и отображает его на экране:

Следующий пример читает число с клавиатуры и отображает его на экране:

Слайд 6

Ассемблер: Режимы адресации

Адресации на регистр

Немедленная адресация

Ассемблер: Режимы адресации Адресации на регистр Немедленная адресация

Слайд 7

Ассемблер: Режимы адресации

Адресация на память

Прямая адресация со смещением

Косвенная адресация на память

1

2

3

Ассемблер: Режимы адресации Адресация на память Прямая адресация со смещением Косвенная адресация

Слайд 8

Инструкция MOV

Синтаксис инструкции MOV:

Инструкция MOV может иметь одну из следующих пяти форм:

Инструкция

Инструкция MOV Синтаксис инструкции MOV: Инструкция MOV может иметь одну из следующих
MOV порой вызывает двусмысленность. Например, посмотрите на утверждения:

Слайд 9

Пример:

Пример:

Слайд 10

Переменные

Синтаксис для оператора распределения памяти для инициализированных данных

Существует пять основных форм директивы

Переменные Синтаксис для оператора распределения памяти для инициализированных данных Существует пять основных форм директивы определения:
определения:

Слайд 11

Примеры

Пример 1

Пример 2

Примеры Пример 1 Пример 2

Слайд 12

Выделение дискового пространства для неинициализированных данных

Существует пять основных форм директив резервирования

Выделение дискового пространства для неинициализированных данных Существует пять основных форм директив резервирования

Слайд 13

Множественность определений

Множественность инициализаций

1

2

Множественность определений Множественность инициализаций 1 2