Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Циклы в ассемблере[Help me] |

01.04.2010, 23:01
|
|
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме: 709575
Репутация:
17
|
|
Циклы в ассемблере[Help me]
Нужно организовать оператор условия на асме, например
Код:
if(a>=34&&a<=100&&b==4)
Используя маш. команду OR
Последний раз редактировалось cheater_man; 02.04.2010 в 01:31..
|
|
|

01.04.2010, 23:43
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
o_O сам понял че написал? цикл например if...
|
|
|

02.04.2010, 01:08
|
|
Познающий
Регистрация: 22.02.2010
Сообщений: 30
Провел на форуме: 188597
Репутация:
15
|
|
cheater_man, тот код, что ты привел, это оператор условия (который может использоваться в цикле), но не цикл
распиши подробнее задачу
|
|
|

02.04.2010, 01:29
|
|
Постоянный
Регистрация: 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)???
|
|
|

02.04.2010, 01:45
|
|
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
Провел на форуме: 1654818
Репутация:
117
|
|
Код:
mov ax,a
cmp ax,34
JL невыполнился
cmp ax,100
JG невыполнился
наверное вот так как то. а что ты хочеш делать с OR непонятно)
|
|
|

02.04.2010, 10:36
|
|
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме: 709575
Репутация:
17
|
|
Сообщение от zeppe1in
Код:
mov ax,a
cmp ax,34
JL невыполнился
cmp ax,100
JG невыполнился
наверное вот так как то. а что ты хочеш делать с OR непонятно)
Это то да  Но не то.
|
|
|

02.04.2010, 12:07
|
|
Новичок
Регистрация: 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..
|
|
|

02.04.2010, 13:51
|
|
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме: 709575
Репутация:
17
|
|
Спасибо всем за советы  Разобрался сам
Closed & deleted
|
|
|
|
 |
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Циклы при GD
|
Ru}{eeZ |
PHP, PERL, MySQL, JavaScript |
14 |
15.12.2008 17:06 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|