Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2015, 11:36   #1
tURUMpUMpUM
Новичок
Джуниор
 
Регистрация: 20.01.2010
Сообщений: 2
По умолчанию Помогите новичку!, разобраться с циклами

Пишу приложение (на FASM) в котором происходит вызов события. Если это событие происходит 10 раз, то приложение должно закрываться, иначе работа продолжится. Я написал код, приложение закрывается при первом же срабатывании события, в чём ошибка:
Код:
button_event:
	add	[accum],	1d
	cmp	[accum], 10d
	je	close_program
	jmp	wait_event

close_program:
	mcall	-1

...

DATA
accum	dw	1d

Последний раз редактировалось tURUMpUMpUM; 16.03.2015 в 11:48.
tURUMpUMpUM вне форума Ответить с цитированием
Старый 16.03.2015, 21:06   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

..циклы удобнее организовывать через регистр СХ (от слова Сounter), с командой "loop":
Код:
use16
org 100h

mov cx,0Ah  ;10 повторений

my_function:
mov ah,09h
mov dx,string
int 21h
loop my_function  ;мотаем цикл
ret

string db 13,10,'FASM for ewer!$'
"loop" - условные переходы, которые используют значение из CX.
"loop" автоматом уменьшают СХ на 1 и завершают цикл, когда CX равен нулю.
Использовать можно только для близких переходов (128 байт назад, и 127 байт вперед, от адреса инструкции, следующей за "loop").
Нашедшего выход - затаптывают первым..

Последний раз редактировалось R71MT; 16.03.2015 в 21:08.
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь новичку разобраться в base64 globalgold PHP 3 06.07.2014 22:21
Помогите новичку с адресацией разобраться Zeneth Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 13 16.06.2009 19:55
помогите разобраться новичку!!! kena Помощь студентам 5 16.05.2009 22:00
Помогите с ЦИКЛАМИ kl45gp Общие вопросы Delphi 11 25.04.2007 16:02