Команди за контролен трансфер, безплатни курсови работи, резюмета и тези

Край на основното

Или bl,al ; писане в bl съдържанието на al

Шл ал, i2

Преместете ds, ax

Код

Стек 256

Модел малък

Масма

Преместете ал, ширина I2

mov брадва, ширина IOTEST; в ax размер на записа в битове

Операторътmask ви позволява да локализирате битовете на необходимия елемент на запис.

Размерът на маската е същият като размера на записа. Всички цифри в маската са нулирани, с изключение на тези, които подчертават елементите на записа.

Използвайки възможностите на Assembler, се препоръчва да работите със записа в следната последователност:

1) Изберете елемент с помощта на операторmask

2) Преместете, ако е необходимо, надясно или наляво

3) Извършете необходимите действия

4) Поставете елемента на мястото му на запис

iotest запис i1:1, i2:2=11, i3:1, i4:2=11, i5:2=00

.данни; сегмент от данни

флаг iotest <> ; екземпляр на запис

основен:

movax, @data

mov al,mask i2 ; 01100000

shr al, i2; 00000011

и други, 11111100b; нулиране на най-малката цифра

mov bl, [флаг] ; съдържанието на флага се поставя в bl

xor bl,маска i2; нулиране

mov брадва, 4c00h; изход

между 21 часа

Обикновено има точки в програмата, където трябва да се вземе решение коя инструкция ще бъде изпълнена следващата.

Инструкциите на процесора, които осигуряват организацията на преходите в програмата, могат да бъдат разделени на три групи.

oКоманди за безусловно прехвърляне на управление:

1. безусловен преход;

2. повикване на процедура и връщане от процедура;

3. повикване софтуерни прекъсвания и връщане отсофтуерни прекъсвания.

oКоманди за условно прехвърляне на управление:

1. скача върху резултата от командата за сравнение;

2. преход според състоянието на определен флаг;

3. скачане по съдържанието на регистър ecx/cx.

oКоманди за управление на цикъла:

1. организиране на цикъл с ecx/cx брояч;

2. организация на цикъла с възможност за ранно излизане от цикъла.

В асемблерния език прехвърлянето на управление се извършва с помощта на етикети.

Преводачът на асемблер присвоява три атрибута на етикета:

— име на кодов сегмент;

— изместване спрямо началния кодов сегмент;

— типа или атрибута на разстоянието на етикета.

Последният атрибут може да приема две стойности:

близко - b близко тип етикет:

когато управлението се прехвърля, съдържанието на регистъра на програмния броячip/eip се променя. Етикетът е в същия сегмент като командата за прехвърляне на управление.