Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2010, 07:18   #1
Ra88
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 21
По умолчанию Организация цикла While

Добрый день, ночь или чё там у кого ещё). Будьте любезны подсказать как на ассемблере можно организовать цикл While или другой схожий с ним по принципу работы.
Ra88 вне форума Ответить с цитированием
Старый 29.09.2010, 07:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

На каком ассемблере? Их море.
Можно макроинструкциями:
Код:
    .WHILE TRUE
        invoke    GetMessage,ADDR msg,0,0,0
        .BREAK .IF (!eax)
        invoke    TranslateMessage,ADDR msg
        invoke    DispatchMessage,ADDR msg
    .ENDW
Это пример из МАСМ.
Или тебе чистыми командами нужно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.09.2010, 08:43   #3
xrnd
Пользователь
 
Регистрация: 27.09.2010
Сообщений: 18
По умолчанию

Цикл можно организовать с помощью команды Loop или команд переходов
xrnd вне форума Ответить с цитированием
Старый 29.09.2010, 08:50   #4
Ra88
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 21
По умолчанию

мне хотелось бы чистыми командами
Ra88 вне форума Ответить с цитированием
Старый 29.09.2010, 08:57   #5
xrnd
Пользователь
 
Регистрация: 27.09.2010
Сообщений: 18
По умолчанию

Например так:

Код на C/C++
Код:
int x = 0;
while(x < 5)
{
    ...
    x++;
}
код на асме
Код:
    xor cx,cx
while_begin:
    cmp cx,5
    jge while_end
    ...
    inc cx
    jmp while_begin
while_end:
xrnd вне форума Ответить с цитированием
Старый 29.09.2010, 09:00   #6
Ra88
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 21
По умолчанию

спасибо, понял
Ra88 вне форума Ответить с цитированием
Старый 29.09.2010, 09:11   #7
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

xrnd
команда loop используется для организации FOR-циклов
Ra88
для UNTIL- или WHILE-циклов нужны команды сравнения и jcc-команды или макроинструкции, как написал Stilet -- компилятор сам превратит эти макроинструкции в cmp и jcc
Mikl___ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Организация видеоконференции. the_deer_one Свободное общение 5 29.07.2010 10:24
Организация цикла DartDayring Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 21.03.2010 12:58
Организация цикла mephist Microsoft Office Excel 2 17.07.2009 16:27
Переход от цикла к циклу не выходя из цикла (без multithreading) Qousio Общие вопросы C/C++ 2 16.05.2009 09:27
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat McMilin Помощь студентам 7 11.11.2007 14:10