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

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

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

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

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

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

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

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

a 100

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

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

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

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

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

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

g =100 106

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

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

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

 

См. также:  Умножение в МП на asm без использования команд умножения
Понравилась статья? Поделиться с друзьями:
Blablacode
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: