Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Сmр ах, 3 ; сравнить x и 3




jge @continue; if (x>=3) goto continue

jmp near ptr @metka; if (x<3) goto m

@continue:..

-------------------------

Решение ВЕРНО. Здесь используется команда безусловного перехода с префиксом near ptr. Префикс определяет область действия команды безусловного перехода и принимает зна­чения:

short область действия-128..127 байт

near ptr область действия -32768..32767 байт

far ptr область действия распространяется на другие модули программы.

При использовании команд перехода необходимо правиль­но выбирать требуемые команды с учетом работы со знаковы­ми и беззнаковыми данными.

Таблица 3 Основные команды условного перехода.

Знаковые данные Беззнаковые данные Не зависят от типа
jl (jnge) - меньше jb (jnal) - ниже je (jz) - paвно
jg (jnle) - больше ja (jnbe) - выше jne (jnz) - нe равно
jle (jng) - нe больше jbe(jna) - нe выше jo - переполнение
jge (jnl) - нe меньше jae(jnb) - нe ниже jno - нет переполнения
js отрицательное   jc - перенос
jns не отрицательное   jnc - нет переноса

 

Примеры команд с использованием команд перехода.

ПРИМЕР 1: Вычислить z=max(x,y) с учетом знака чисел х, у

------------------------

Var

x,y,z:integer;

Begin

Read(x,y);

Asm

mov ах, х; aх: =х

Сmр ах, у; х сравнивается с у

jge @xgey;

mov ах, у; ax: =y

@xgey: mov z, ах; z:=ax

End;

writeln(‘max= ‘,z);

End.

------------------------

В этом примере xgey — метка с адресом перехода, если х >= у.

Задание. Написать программу на языке Паскаль с использованием Ассемблерной вставки для произведения вычислений.

1. Дано квадратное уравнение a*x*x +b*x +c=0. Определить есть ли у него действительные корни.

2. Если x попадает в интервал (3..7), увеличить его в два раза иначе, уменьшить в два раза.

3. Дано квадратное уравнение a*x*x +b*x +c=0. Определить сколько у него действительных корней.

4. Даны три отрезка. Надо выяснит, можно ли из них построить треугольник.

5. Даны три числа. Найти наибольшее из них.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных