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

08.10.2007, 17:42
|
|
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме: 409147
Репутация:
33
|
|
asm
люди как реализовать что-то вроде цикла на асме? типа если один регистр больше другого, то перейти на метку, допуситм а1?
|
|
|

08.10.2007, 17:46
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Читай http://ha.hoha.ru/a/Assembler/stats12/stat.php
|
|
|

08.10.2007, 17:49
|
|
Познавший АНТИЧАТ
Регистрация: 13.04.2006
Сообщений: 1,738
Провел на форуме: 5151669
Репутация:
1198
|
|
cmp ax, bx
jg a1
a1: ......
|
|
|

08.10.2007, 17:59
|
|
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме: 409147
Репутация:
33
|
|
во. резпект. спасибо
|
|
|

08.10.2007, 20:02
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Берешь Fasm и юзаешь макрос цикла 
|
|
|

08.10.2007, 20:14
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
slesh, не катит. Из-за таких вот советов, люди начинают ассоциировать ассемблер с каким-то макро-извращением. Теряется красота... но это мое мнение.
|
|
|

08.10.2007, 23:38
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 Ni0x я знаю. Но судя по задаваемому вопрос топикстартер не читал описание инструкций j* jn* я просто предлогаю альтернативное решение.
я конечно сам не сторонник макросов, но бывает легче написать в макросном виде нежели в обычном.
типа условие (ecx<>0 and ((ecx>10) and (eax<20) or (ecx>100) and (eax<200) or (ecx>1000) or (eax<2000)) легче в виде макроса написать.
|
|
|

09.10.2007, 02:18
|
|
IQ- 137%
Регистрация: 15.06.2004
Сообщений: 441
Провел на форуме: 1212666
Репутация:
662
|
|
Цикл издревне в сияруси юзается посредством регистра cx-сейчас ecx
Делается метка цикла например
loop1:
и далее идет тело цикла
например
cmp eax,0
jz end_loop;перейти если eax=0
inc eax;инкремент eax к примеру
loop loop1;как дойдет до этого места декриментируется ecx и переход обратно на метку loop1 и вот тебе и весь цикл
П.С.В ecx должно быть нужное тебе значение.Тоесть сколько циклов например 10=10h
__________________
|
|
|

09.10.2007, 08:15
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Вообще говоря использовать можно хоть ESP как счетчик.. если сместо loop loop1 поставить dec esp / jnz loop1
П.С.В ecx должно быть нужное тебе значение.Тоесть сколько циклов например 10=10h
Поправка - если в ECX был ноль, цикл выполнится 4294967295 раз.
ЗЫ. Топикстартеру - читать описание инструкций loop, jmp, j*/jn*.
Тема закрыта
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|