Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Циклы в ассемблере[Help me] (https://forum.antichat.xyz/showthread.php?t=192616)

cheater_man 01.04.2010 23:01

Циклы в ассемблере[Help me]
 
Нужно организовать оператор условия на асме, например
Код:

if(a>=34&&a<=100&&b==4)
Используя маш. команду OR

Gar|k 01.04.2010 23:43

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

fluffylion 02.04.2010 01:08

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

распиши подробнее задачу

cheater_man 02.04.2010 01:29

Короче есть строчка кода на С
Код:

.....
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 невыполнился
....

:D А вот как сделать это с OR :confused:
Нужно сначала сравнить эти выражения, а потом проверить OR'ом.Вообще так возможно(используем только регистры ax и bx)???

zeppe1in 02.04.2010 01:45

Код:

mov ax,a
cmp ax,34
JL невыполнился
cmp ax,100
JG невыполнился

наверное вот так как то. а что ты хочеш делать с OR непонятно)

cheater_man 02.04.2010 10:36

Цитата:

Сообщение от zeppe1in
Код:

mov ax,a
cmp ax,34
JL невыполнился
cmp ax,100
JG невыполнился

наверное вот так как то. а что ты хочеш делать с OR непонятно)

Это то да :) Но не то.

Swat2k 02.04.2010 12:07

Код:

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

cheater_man 02.04.2010 13:51

Спасибо всем за советы ;) Разобрался сам :)
Closed & deleted


Время: 02:40