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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2010, 03:36   #1
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию условный переход if then else

я в нём лох. поэтому такой вопрос:
как прописать условный переход?

if a>200 and b=0 then
a:=a+1;
else
a:=a-1;
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 05.05.2010, 04:36   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Rin
Можно решить двумя вариантами
1) простейший вариант
Код:
.data 
a db 201
b db 0
.code
	cmp b,0
	jne a1
	cmp a,200
	jna a1
	inc a
	jmp exit
a1:	dec a		
exit:
второй вариант, чтобы избежать переходов при сравнении переменной a и 200
Код:
  mov al,-1
	cmp b,0
	jne exit
	cmp a,201
	sbb al,al; если a больше 200 (то есть, a ≥ 201), тогда CF=0 и AL=0
; иначе CF=1 и AL=0FFh
	or al,1; если в AL был 0, то AL=1 иначе AL=0FFh=-1
exit:	add a,al
если размер переменных a и b word -- замени AL на AX

Последний раз редактировалось Mikl___; 05.05.2010 в 08:43.
Mikl___ вне форума Ответить с цитированием
Старый 05.05.2010, 16:06   #3
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Спасибо большое, Mikl !!!
=)
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условный оператор amki6 Помощь студентам 1 31.03.2010 11:15
Условный переход в МК051 GMSD Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 18.11.2009 12:16
условный оператор Еля Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 09.11.2009 23:30
Условный вопрос Utkin Общие вопросы Delphi 12 11.09.2009 13:22
Условный оператор IF в Си Zid@ne Помощь студентам 7 24.12.2008 20:02