Реферат: Структурне програмування на асемблері

P

Parity (Even) - співпадання парності (хлопцю)

PF=1

PE

Parity Even – хлопцю

PF=1

PO

Parity Odd – непарне

PF=0

*S

Sign – знак

SF=1

Z

Zero – нуль

ZF=1

СТРУКТУРА IF З ЧАСТКОЮ ELSE

Як і в мові Бейсік, ви можете вставити ELSE і змусити мікропроцесор виконувати альтернативну групу команд у випадку, якщо умова не істинна. Тоді структура IF буде мати вигляд:

$IF умова

A (здійснюється, якщо умова істинна)

$ELSE

B (здійснюється, якщо умова не істинна)

$ENDIF

На мал. 1,б показана блок-схема, що пояснює дію структури $IF-$ELSE-$ENDIF.


ФУНКЦІОНУВАННЯ СТРУКТУРИ IF

Насправді оператори $IF, $ELSE і $ENDIF є командами для програми SALUT. Коли ми викликаємо програму SALUT, то вона перетворює ці оператори в рядки коментарів (так що Асемблер буде їх ігнорувати), а потім створює їхній еквівалент на мові асемблера. Після цього програма може бути відтрансльована Асемблером, тому що операторів $IF, $ELSE і $ENDIF в ній уже немає. У наступних розділах ми покажемо, як програма SALUT перетворить спочатку структуру $IF-$ENDIF, а потім структуру $IF-$ELSE-$ENDIF.

КОМАНДИ, ЩО ГЕНЕРУЮТЬСЯ ОПЕРАТОРАМИ $IF-ENDIF

Коли програма SALUT виявляє оператор $IF, вона генерує команду умовної передачі управління Jx, що змушує мікропроцесор пропустити оператори, що знаходяться між оператором $IF і наступним оператором $ENDIF. Звернемо увагу на слово «пропустити». Воно повідомляє нам, що програма SALUT повинна підставити команду Jx, обернену стосовно змісту операнда в операторі $IF. Отже, вона повинна замінити $IF Z на JNZ, а $IF на JNA. Звичайно, у кожної команди умовної передачі управління повинний бути адресат, і тому програма SALUT уставить мітку після оператора $ENDIF. Наприклад після того, як програма SALUT опрацює оператори $IF і $ENDIF, наш попередній приклад прийме такий вид:

CMP BX,0 ;Негативне значення?

;$IF L

JNL $$IF1

NEG BX ;Якщо так, змінити знак

;$ENDIF

К-во Просмотров: 485
Бесплатно скачать Реферат: Структурне програмування на асемблері