Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей
|
Более сложный вариант инструкции if-eise позволяет выборочно выполнить
одно из двух действий в зависимости от условия. Далее показан синтаксис
инструкции на языке С + + :
if (условие)
{
<операторы 1>
}
else
{
<операторы 2>
}
Вариант этой инструкции на Delphi будет выглядеть немного по-другому:
if (условие) then
begin
<операторы 1>
end
else
begin
<операторы 2>
end
В языке ассемблера нет таких конструкций, однако они довольно легко реализуются
с помощью определенных последовательностей команд.
Рассмотрим, например, алгоритм проверки двух операндов на равенство и,
в зависимости от результата, переход на ту или иную ветвь программы.
На языке Pascal и соответственно на Delphi такой алгоритм имеет вид:
if (operandi = operand2) then
begin
end
else
begin
end
На Visual С + + .NET выражение будет выглядеть несколько иначе:
if (operandi = operand2)
{
}
else
{
}
Язык ассемблера позволяет представить конструкцию if-eise довольно
просто:
cmp operandi, operand2
je EQUAL
<команды 1>
jmp DIFF
EQUAL:
<команды 2>
DIFF:
Возможен и другой вариант:
cmp operandi, operand2
jne DIFF
<команды 2>
EXIT:
DIFF:
<команды 1>
jmp EXIT
Теперь мы знаем достаточно об инструкции if и можем применить наши
знания на практике.
Рассмотрим пример, в котором необходимо написать условие сравнения
двух переменных целочисленного типа х и Y. В зависимости от результата
сравнения х принимает значение Y в случае, если х больше у, и остается неизменным,
если х меньше или равен у.
Фрагмент кода на Delphi мог бы выглядеть так:
if X > Y then
X : = У;
В С + + этот же фрагмент кода будет выглядеть следующим образом:
if (X > Y)
X = У;
Ассемблерная версия будет такой:
mov ЕАХ, DWORD PTR Y
cmp EAX, DWORD PTR X
jge EXIT
mov DWORD PTR X, EAX
EXIT:
<< Назад В начало Далее >> |
|