КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Сдвига ( shl и shr)
ОПЕРАЦИИ СЧЕТЧИК АДРЕСА (РАЗМЕЩЕНИЯ) Пример грамотно откомментированного кода ; ; Функция, возвращающая контрольную сумму (размером в ; байт) буфера данных ; ; Входные данные: ; DS:BX - указатель на начало буфера ; CX - длина буфера ; ; Выходные данные: ; AL - контрольная сумма буфера ; ; Используемые регистры (содержимое не сохраняется): ; BX, CX ; ; Примечание: буфер не должен превышать 64К и не должен ; пересекать границу сегментов. ; CheckSum PROC NEAR sub al,al; очистить аккумулятор ; контрольной суммы add al,[bx]; прибавить текущее ; значение байта inc bx; ссылка на следующее ; значение loop CheckSum ret CheckSum ENDP
Его имя - $. Его значение – это смещение текущей машинной команды относительно начала сегмента кода. … 000C EB 01 jmp $ + 3; безусловный переход на XOR; $ = 0Ch ; длина команды jmp = 2 байта 000E FC CLD; длина команды cld = 1 байт 000F 33 C0 xor ax,ax
НЕ ПУТАЙТЕ ИХ С МАШИННЫМИ КОМАНДАМИ! Машинные команды исполняет ПРОЦЕССОР на фазе ВЫПОЛНЕНИЯ программы. ОПЕРАЦИИ выполняет компилятор TASM.EXE на фазе компиляции. Результат выполнения помещается в объектный код. Сначала рассмотрим операции АРИФМЕТИЧЕСКИЕ: • унарные “ + ” и “ – ”; • бинарные “ + ” и “ – ”; • умножения “ * ”; • целочисленного деления “ / ”; • получения остатка от деления “ mod ”. Пример: tab_size equ 50;размер массива в байтах
Пример: mask_b equ 10111011b СРАВНЕНИЯ (ЛОЖЬ = лог. 0 = 0 (все биты 0), ИСТИНА = лог.1 = 0FFh (все биты 1))
Пример: tab_size equ 30; размер таблицы
Дата добавления: 2014-01-07; Просмотров: 257; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |