Все про Assembler українською мовою на сайті net.kr.ua

 

:: Меню ::

Головна
Введення
Архітектура реального режиму
Основи програмування
Команди і алгоритми
Розширені можливості сучасних мікропроцесорів
Система команд процесорів Intel
Книга для гостей
Контакти
Добавити у вибране

:: Друзі ::

  По низким ценам Проститутки Нижневартовска всем без проблем.   Для вас со скидками дом из бруса без дополнительной оплаты.   Только у нас Проститутки Нижневартовска недорого, со скидками.
 

:: Лічильники ::

=

 

 

 

 

fff00e50

386+ BSF Пряме сканування бітів

Команда bsf сканує слово або подвійне слово у пошуках біта, рівного 1. Сканування виконується від молодшого біта (0) до старшого. Якщо в слові не знайдено встановлених бітів, то встановлюється прапор ZF. Якщо встановлені біти є, то номер першого встановленого біта заноситься у вказаний в команді регістр. За номер біта вважається його позиція в слові, відлічувана від біта 0. Як перший операнд команди bsf слід указувати регістр, куди буде поміщений результат сканування, як другий - регістр або елемент пам'яті з сканованим словом. У команді bsf допустиме використання як 16-бітових, так і 32-бітових операндів (але і перший, і другий операнди мають бути одного типу).

Приклад 1


mov Bx,70h ;Анализируемое дане

bsf АХ, ВХ ;АХ=4, Zf=0

Приклад 2


mov Si,0 ;Анализируемое дане

bsf Bx,si ;ZF=1, у ВХ колишнє значення

 

Приклад 3


mov Si,8 ;Анализируемое дане

bsf Bx,si ;BX=3, Zf=1

Приклад 4


;У полях даних

mem dw 9000h Аналізоване дане

;У програмному сегменті:

bsf AX, mem;AX=000Ch=12, Zf=0

 

386+ BSR Зворотне сканування бітів


Команда bsf сканує шару або подвійне слово у пошуках біта, рівного 1. Сканування виконується від старшого біта (15 або 31) до молодшого. Якщо в слові не знайдено встановлених бітів, то встановлюється прапор ZF. Якщо встановлені біти є, то номер першого встановленого біта заноситься у вказаний в команді регістр. За номер біта вважається його позиція в слові, відлічувана від біта 0. Як перший операнд команди bsf слід указувати регістр, куди буде поміщений результат сканування, як другий - регістр або елемент пам'яті з сканованим словом. У команді bsf допустиме використання як 16-бітових, так і 32-бітових операндів, але і перший, і другий операнди мають бути одного типу (за винятком випадку, коли другий операнд - константа).

Приклад 1


mov Bx,70h ;Анализируемое дане

bsr Ax,bx ;AX=6, Zf=0

Приклад 2


mov Si,0 ;Анализируемое дане

bsr Bx,si ;ZF=1, у ВХ колишнє значення

 

Приклад 3


mov Si,8 ;Анализируемое дане

bsf Bx,si ;BX=3, Zf=1

Приклад 4


; У полях даних

mem dw 9000h ; Аналізоване дане

;У програмному сегменті:

bsr AX, mem;AX=000Fh=15, Zf=0

 

486+ BSWAP Обмін байтів


Команда bswap змінює порядок байтів в своєму єдиному операнді, як який може виступати тільки 32-розрядний регістр загального призначення. Биті 7...0 обмінюються з бітами 31...24, а биті 15... 18 з бітами 23...16. Іншими словами, нумерація байтів регістра змінюється на протівополжную (замість 3, 2, 1,0 - 0, 1, 2, 3). Команда не впливає на прапори процесора.

Приклад


mov ЕАХ, 01234567h

bswapeax ;EAX=67452301h

 

386+ ВТ Перевірка бита


Команда bt дозволяє визначити, чи встановлений в заданому слові певний біт. Аналізоване слово виступає як перший операнд, номер бита - як другий. Першим операндом команди bt може служити регістр або елемент пам'яті, другим - регістр або безпосереднє значення. У команді допустиме використання як 16-бітових, так і 32-бітових операндів, але і перший, і другий операнди мають бути одного типу (за винятком випадку, коли другий операнд - константа).
Значення біта, що перевіряється, копіюється в прапор CF.

Приклад 1


mov Ax,00ffh ;Анализируемое дане

bt Ax,5 ; битий 5=1, Zf=1

Приклад 2


mov Ax,00ffh ;Анализируемое дане

bt Ax,8 ;бит 8=0, Zf=0

Приклад 3


mov Ax,8001h ;Анализируемое дане

mov Bx,15 ;Номер біта, що перевіряється

bt АХ, ВХ ;бит 15 = 1, Zf=1

Приклад 4


;У полях даних

mem dw Ifh ;Анализируемое дане

;У програмному сегменті:

bt mem, 4 ;бит 4 = 1, Zf=1

 

386+ ВТС Перевірка і інверсія бита


Команда btc перевіряє певний біт в слові, заданому першим операндом, копіює його значення в прапор CF і інвертує. Номер біта виступає як другий операнд. Першим операндом команди btc може служити регістр або елемент пам'яті, другим - регістр або безпосереднє значення. У команді допустиме використання як 16-бітових, так і 32-бітових операндів, але і перший, і другий операнди мають бути одного типу (за винятком випадку, коли другий операнд - константа).

Приклад 1


mov Ax,00ffh ;Анализируемое дане

btc АХ, 5 ;AX=00DFh Битий 5 був = 1

;Скидання бита 5, Zf=1

Приклад 2


mov Ax,ooffh /аналізіруємоє дане

btc АХ, 8 ;AX=lFFh Битий 8 був = О

;Установка бита 8, Zf=0

Приклад 3


mov Ax,8001h ;Анализируемое дане

mov Bx,15 ;Номер біта, що перевіряється

btc Ax,bx ;AX=0001h, Zf=1

Приклад 4


; У полях даних

mem dw Ifh

;У програмному сегменті: ; Аналізоване дане

btc mem, I /mem=leh, Zf=1

-

:: Наша кнопка ::

Отримати код:

Підтримайте наш сайт і розмістіть нашу кнопку на своєму ресурсі.


:: Популярне ::

-


:: Посилання ::

-


 

 

 


Copyright © net.kr.ua, 2019-2025 (assem.us)