ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Циклы в ассемблере[Help me]
  #1  
Старый 01.04.2010, 23:01
Аватар для cheater_man
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме:
709575

Репутация: 17
По умолчанию Циклы в ассемблере[Help me]

Нужно организовать оператор условия на асме, например
Код:
if(a>=34&&a<=100&&b==4)
Используя маш. команду OR

Последний раз редактировалось cheater_man; 02.04.2010 в 01:31..
 
Ответить с цитированием

  #2  
Старый 01.04.2010, 23:43
Аватар для Gar|k
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

o_O сам понял че написал? цикл например if...
 
Ответить с цитированием

  #3  
Старый 02.04.2010, 01:08
Аватар для fluffylion
fluffylion
Познающий
Регистрация: 22.02.2010
Сообщений: 30
Провел на форуме:
188597

Репутация: 15
По умолчанию

cheater_man, тот код, что ты привел, это оператор условия (который может использоваться в цикле), но не цикл

распиши подробнее задачу
 
Ответить с цитированием

  #4  
Старый 02.04.2010, 01:29
Аватар для cheater_man
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме:
709575

Репутация: 17
По умолчанию

Короче есть строчка кода на С
Код:
.....
if(a>=34&&a<=100)
.....
Нужно этот же код на асму переписать с командой OR
Без OR будет примерно так:
Код:
mov ax,a
mov bx,34
cmp ax,bx
mov ax,1
jge m1
sub ax,ax
m1:
test ax,ax
jnz переходим к след условию a<=100
jmp if невыполнился
....
А вот как сделать это с OR
Нужно сначала сравнить эти выражения, а потом проверить OR'ом.Вообще так возможно(используем только регистры ax и bx)???
 
Ответить с цитированием

  #5  
Старый 02.04.2010, 01:45
Аватар для zeppe1in
zeppe1in
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
Провел на форуме:
1654818

Репутация: 117
По умолчанию

Код:
mov ax,a
cmp ax,34
JL невыполнился
cmp ax,100
JG невыполнился
наверное вот так как то. а что ты хочеш делать с OR непонятно)
 
Ответить с цитированием

  #6  
Старый 02.04.2010, 10:36
Аватар для cheater_man
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме:
709575

Репутация: 17
По умолчанию

Цитата:
Сообщение от zeppe1in  
Код:
mov ax,a
cmp ax,34
JL невыполнился
cmp ax,100
JG невыполнился
наверное вот так как то. а что ты хочеш делать с OR непонятно)
Это то да Но не то.
 
Ответить с цитированием

  #7  
Старый 02.04.2010, 12:07
Аватар для Swat2k
Swat2k
Новичок
Регистрация: 12.09.2007
Сообщений: 14
Провел на форуме:
136460

Репутация: 2
По умолчанию

Код:
include 'win32ax.inc'
.data
a db 34d;
b db 4d;
.code
OEP:
        mov ah,[a]  ;ah = a
        mov al,[b]  ;al = b
        cmp ah,34d  ;
        jnae _exit  ; exit if not above or equal (X < Y)
        cmp ah,100d;
        ja _exit    ; exit if above (X > Y)
        cmp al,4d;
        jnz _exit   ; exit if above (X != Y)
        invoke  MessageBox,HWND_DESKTOP,"Число a , находится на отрезке [34,100] и b == 4",invoke GetCommandLine,MB_OK
_exit:  invoke  ExitProcess,0
.end OEP
Интересно бы было посмотреть на вариант с OR

Последний раз редактировалось Swat2k; 02.04.2010 в 12:26..
 
Ответить с цитированием

  #8  
Старый 02.04.2010, 13:51
Аватар для cheater_man
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме:
709575

Репутация: 17
По умолчанию

Спасибо всем за советы Разобрался сам
Closed & deleted
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Циклы при GD Ru}{eeZ PHP, PERL, MySQL, JavaScript 14 15.12.2008 17:06



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ