Сложение числе в asm

Статьи на асемблерную тематику начну со статьи про сложение чисел. Думаю читателю будет слишком нудно читать кучу нравоучений на тему какой асм крутой и т.п.

Итак сложение числе.

Чтобы отдать дань теории упомяну, что в микропроцессорной технике все строится на данных, которые находятся в регистрах (играют роль сверхбыстрой памяти) и памяти.
Сложение производится при помощи команд ADD и ADC (учитывает перенос).

Итак. Допустим мы имеем 2 числа в регистрах AL и BL . Это однобайтные регистры.

«Писать» будем в стандартном виндовском дебагере.

Жмём Пуск — Выполнить — debug

В появившемся консольном окне вводим команду

a 100

Теперь мы вводим программу в ячейки памяти начиная с 100’ой.

Т.к. данные однобайтные никаких махинаций с переносом делать не будем.

Сначала вводим данные в регистры при помощи команды MOV. Первый операнд которой — регистр в который вводим, второй — непосредственные данные.

Затем складываем содержимое регистров при помощи команды ADD.

И завершаем выполнение при помощи команды HLT.

После чего при помощи команды:

g =100 106

В которой первое число — адрес начала программы, второе — конца (адрес ячейки с командой hlt).

Смотрим вывод:

После сложения 3 и 5 в регистре AX (AL — младший байт этого двухбайтного регистра) мы получили сумму чисел т.е. 8.

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий