Додавання чисел на assembler

Доброго времени суток, наша рубрика почнеться саме з цієї теми, в якій ми виконаємо додавання 2 чисел в Assembler і повірте: зробити це не так легко, як здається. Ну і слід зазначити, що ми будемо розбиратися з самих азів, тому навіть такі приклади варто розібрати.







Також нагадаю, що ми працюємо в MASM32, і відповідно, вам необхідно його встановити. Як це зробити, ми розповідали в попередній статті по Assembler.

Як створювати файли Assembler

Перш ніж привести вам код програми, думаю, не зайвим буде написати як і де прописувати код:

1. Створити будь-який файл з розширенням .txt

Не так важливо за допомогою якої програми ви це зробите (блокнот, Notepad, і тд)

2. Пишемо сам код в цьому файлі (приклад коду буде нижче)

3. Перейменовуємо цей файл в файл з розширенням .asm

4. Переміщаємо файл в папку BIN (папка, яку використовували в 1 статті)

Код додавання чисел на Assembler

Ну і власне невеликий код програми:

Ну що ж, ось так от виглядає код на Assembler.
Перші 2 рядки є обов'язковими для MASM, тому їх ми будемо писати в кожній програмі. Вони вказують місце процесора і модель пам'яті з якою ми працюємо.

Третій рядок - це розділ змінні (після цього рядка, повинні оголошуватися змінні), як ви бачите, у нас в цій програмі не буде змінних.

Четверта - розділ коду. У нашій програмі, ми поміщаємо в регістр eax значення 3, а потім за допомогою add (додати) додаємо 2, логічно, що тепер в цьому регістрі буде зберігатися значення 5.






Хто не знає, що таке реєстр, то вам краще почитати про це тут.
Потім йде команда ret, яка говорить про вихід з програми і сам вихід end start.

Як запускати програми

Отже, ми маємо файл з розширенням .asm, що лежить в папці BIN.
Вітаю вас, це перший код на Assembler!
Але все ж, поки не дуже зрозуміло, як нам перевірити: чи працює програма (тобто скомпілювати вона і чи може запускатися)?
Для цього ми її зараз і запустимо:

1. Запускаємо командний рядок (прописати cmd в пошуку, ну або іншим способом)

2. Перейти в папку BIN за допомогою команди cd

У мене ця команда буде виглядати так: cd C: \ Users \ Микита \ BIN

3. Пишемо наступний запис: amake.bat ім'я файлу (без розширення)

Я прописую: amake.bat first

Також нагадаю вам, що це спрацює тільки при правильно встановленому MASM32, в попередній статті ми про це говорили.

тиснемо enter
Якщо помилок не виникло то у вас з'явиться щось на зразок цього:

Додавання чисел на assembler

Запуск налагоджувача OLLYDBG

Програма скомпільована, а це вже добре, тепер нам потрібно перевірити як вона спрацювала, раптом вона не склала 2 числа.
Для цього в папці BIN відкриваємо наш відладчик (який встановлювали в 1 статті) OLLYDBG.
У отладчике відкриваємо файл програми (file> open first.exe), і бачимо наш код вже з іншого боку:

Додавання чисел на assembler

Так як ми працюємо з регістром eax, то саме його значення і будемо відстежувати. (В правому вікні, 1 значення регістрів)
Отже, щоб крок за кроком прогнати нашу програму потрібно натиснути на 4 синию кнопку зліва. (Стрілка вниз з 3 точками)
Після 1 натискання, значення в eax стало дорівнює 3, після 2 натискання - 5.
Наша програма працює вірно!

Поділитися посиланням:







Схожі статті