Слайд 2Разделы программы
Data
Bss
Text
section .data
section .bss
section.text
global _start
_start:
Слайд 3Комментарии
До конца строки
Целая строка
«;» (точка с запятой)
; Тут пишется комментарий
add eax,
ebx ; Тут пишется комментарий до конца строки
Слайд 4Выражения ассемблера
Исполнительные инструкции
Директивы
Макросы
Указание процессору на необходимые действия
Указывают на различные аспекты протекания операций
Заменяют
текстом команды.
Слайд 5Примеры выражений
INC COUNT ; Увеличивает память переменной COUNT
MOV TOTAL, 48 ; Передаёт
значение 48 в переменную TOTAL
ADD AH, BH ; Добавляет содержимое регистра BH в AH
AND MASK1, 128 ; Выполняет операцию AND для переменной MASK1 и 128
ADD MARKS, 10 ; добавляет значение 10 переменной MARKS
MOV AL, 10 ; Передаёт значение 10 в регистр AL
Слайд 6Примеры первой программы
section .text
global _start ; Этот идентификатор нужно объявить
;
для компановщика
_start: ; сообщает компановщику точку начала программы
mov edx,len ;определение длины
mov ecx,msg ;определение сообщения
mov ebx,1 ;дискриптор(stdout)
mov eax,4 ;вызов номера(sys_write)
int 0x80 ;вызов обработки прерывания 0x80
mov eax,1 ;вызов номера(sys_exit)
int 0x80 ;вызов обработки прерывания 0x80
section .data
msg db 'Hello, world!', 0xa ;string to be printed
len equ $ - msg ;length of the string
Слайд 7Задание 1
Вывести первые 5 символов в фразе
«Hello, world!».
Слайд 8Задание 2
Вывести фразу «The first lesson.»
вместо фразы «Hello, world!».