| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > Безусл.переход |
| Автор: m60 5.11.2006, 17:52 |
| Подскажите: как выполнить переход типа jmp, - например 3 раза, только Jcc не предлогать. |
| Автор: digs 5.11.2006, 18:03 |
| Loop |
| Автор: m60 5.11.2006, 18:38 | ||
Нет Jcc же использует флаги, а мне надо чтоб без них, просто выполнился нужное количество раз, или так незя?? |
| Автор: digs 5.11.2006, 19:06 |
| Можно использовать RET перед началом выполнения забиваешь в стек адрес ячейки после команды RET, потом нужное количество раз адрес перехода |
| Автор: Akina 5.11.2006, 23:05 |
| После выполнения перехода точка выполнения сместится, и второй переход в той же точке не получится. Постарайтесь все-таки объяснить задачу. Желательно привести или кусок кода, или хотя бы описание логики этого кода. |
| Автор: m60 6.11.2006, 01:13 |
| Кода как такового нет, асм я тока учу, и вот вопрос собственно возник, как выполнить нужный участок кода, нужное количество раз не прибегая к операторам сравнения, и условия. Например: start: .... .... call function jmp start ; как произвести безусловный переход нужное количество раз типа jmp? если можно бы было написать jmp (3) - проблем бы не было.. |
| Автор: anwe 6.11.2006, 01:18 |
| А чем тебе loop не подходит? |
| Автор: m60 6.11.2006, 02:03 | ||
loop же тоже сравнивает cx, а если у меня сх уже используется? |
| Автор: Akina 6.11.2006, 12:59 |
Либо не используй, либо сохраняй. И вообще - почти каждый регистр имеет свое собственное специализированное назначение (скажем СХ - счетчик), и использолвать его для иных целей нужно лишь в особых случаях, когда любое иное решение (скажем использование стека или переменной в памяти) еще хуже. |
| Автор: m60 6.11.2006, 15:01 |
| Akina спс. за заметку.. close topic. |