powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вопросик по asm'у
6 сообщений из 6, страница 1 из 1
Вопросик по asm'у
    #33460659
LeoReijii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, All!

Срочно понадобилось написать кусочек кода на асме, а я его уж не помню!
и книги под рукой нет, а посему прошу помочь!
подскажите, как сравнить числа (типа cmp ax,bx), а потом если числа равны перейти метку, если ax больше - на другую метку, меньше - на третью?
──────────────────────
ars longa, vita brevis
──────────────────────
...
Рейтинг: 0 / 0
Вопросик по asm'у
    #33460672
Фотография VirusXP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а следующим оператором пишешь переход собстно
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
cmp      eax, 100000000         // проверка максимального значения
jb         @ 1                    // значение в пределах допустимого
mov      eax,- 1                // флаг ошибки
jmp      @exit                // выход если - 1 
@ 1 :

push       ebx                  // сохранение регистров
push       esi
...
Рейтинг: 0 / 0
Вопросик по asm'у
    #33460676
LeoReijii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на самом деле мне немного нето надо...
сформулирую по другому...
cmp ax,bx
1. какой оператор условного перехода определяет что ax=bx
2. какой оператор условного перехода определяет что ax>bx
3. какой оператор условного перехода определяет что ax<bx
....
──────────────────────
ars longa, vita brevis
──────────────────────
...
Рейтинг: 0 / 0
Вопросик по asm'у
    #33460685
Фотография VirusXP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда так
Код: plaintext
1.
2.
3.
4.
5.
6.
         cmp      bl,  0 
        jz      @@Exit
         cmp      bl, 'a'
        jb      @@Next
         cmp      bl, 'z'
        ja      @@Next
...
Рейтинг: 0 / 0
Вопросик по asm'у
    #33460688
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе для какого из ассемблеров это нужно то?
Если для x86, то вот:
THESE ARE THE JUMP INSTRUCTIONS FOR SIGNED NUMBERS jg ; jump if greater
jnle ; jump if not (less or equal)

jl ; jump if less
jnge ; jump if not (greater or equal)

je ; jump if equal
jz ; jump if zero

jge ; jump if greater or equal
jnl ; jump if not less

jle ; jump if less or equal
jng ; jump if not greater

jne ; jump if not equal
jnz ; jump if not zero THESE ARE THE JUMP INSTRUCTIONS FOR UNSIGNED NUMBERS ja ; jump if above
jnbe ; jump if not (below or equal)

jb ; jump if below
jnae ; jump if not (above or equal)

je ; jump if equal
jz ; jump if zero

jae ; jump if above or equal
jnb ; jump if not below

jbe ; jump if below or equal
jna ; jump if not above
...
Рейтинг: 0 / 0
Вопросик по asm'у
    #33460720
LeoReijii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
jg ; jump if greater
jl ; jump if less
je ; jump if equal


спсиба то что надо!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вопросик по asm'у
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]