Первая программа на Assembler

Слайд 2

Разделы программы

Data

Bss

Text

section .data

section .bss

section.text
global _start
_start:

Разделы программы Data Bss Text section .data section .bss section.text global _start _start:

Слайд 3

Комментарии

До конца строки

Целая строка

«;» (точка с запятой)

; Тут пишется комментарий

add eax,

Комментарии До конца строки Целая строка «;» (точка с запятой) ; Тут
ebx ; Тут пишется комментарий до конца строки

Слайд 4

Выражения ассемблера

Исполнительные инструкции

Директивы

Макросы

Указание процессору на необходимые действия

Указывают на различные аспекты протекания операций

Заменяют

Выражения ассемблера Исполнительные инструкции Директивы Макросы Указание процессору на необходимые действия Указывают
текстом команды.

Слайд 5

Примеры выражений

INC COUNT ; Увеличивает память переменной COUNT
MOV TOTAL, 48 ; Передаёт

Примеры выражений 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 ; Этот идентификатор нужно объявить
;

Примеры первой программы 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!».

Задание 1 Вывести первые 5 символов в фразе «Hello, world!».

Слайд 8

Задание 2

Вывести фразу «The first lesson.» вместо фразы «Hello, world!».

Задание 2 Вывести фразу «The first lesson.» вместо фразы «Hello, world!».