Как скомпилить ассемблерную-прогу с инструкциями SETcc?
Как можно избавиться от этой хрени и сделать экзешник?
Кстати, может кто подскажет, какой самый простой способ выполнить операции аналогичные командам SETcc?
Например, какой код лучше всего написать, чтобы записать в регистр AX (или AL, AH)
- 1, если BX равен 5
- 0, если BX не равен 5
Народ есть проблема! Мне хочется использовать в программе на ассемблере команды SETcc - установка байта по условию (она вроде бы только для процессоров 386 и i486). При компиляции (юзаю TASM 5.0) моей проги пишется:
Как можно избавиться от этой хрени и сделать экзешник?
Кстати, может кто подскажет, какой самый простой способ выполнить операции аналогичные командам SETcc?
Например, какой код лучше всего написать, чтобы записать в регистр AX (или AL, AH)
- 1, если BX равен 5
- 0, если BX не равен 5
Это не команда, а команды, где cc - суфикс, описывающий условие (z, nz, e, ne и тд)
Команды SETcc доступны с i386, напиши участок кода как ты ее используешь и директиву определения типа процессора поставил?(.386, .486 и тд)
И чем тебе не нравиться конструкция типа:
xor ax,ax
cmp bx,5
jne @next
inc ax
@next:
Ps: Это так на вскидку, долго не думая
Это не команда, а команды, где cc - суфикс, описывающий условие (z, nz, e, ne и тд)
Команды SETcc доступны с i386, напиши участок кода как ты ее используешь и директиву определения типа процессора поставил?(.386, .486 и тд)
И чем тебе не нравиться конструкция типа:
xor ax,ax
cmp bx,5
jne @next
inc ax
@next:
Ps: Это так на вскидку, долго не думая
То что SETcc - это командЫ - это я и так знаю...
Приведенная конструкция не нравиться тем, что больно громоздкая, а я ваще пишу не прогу на ассемблере а компилятор Pascal->Assembler...
А вот директиву .386 - забыл ваще :P
Спасибо большое )))
То что SETcc - это командЫ - это я и так знаю...
Приведенная конструкция не нравиться тем, что больно громоздкая, а я ваще пишу не прогу на ассемблере а компилятор Pascal->Assembler...
А вот директиву .386 - забыл ваще :P
Спасибо большое )))
Поправка это не компилятор, а транслятор.
И "больно громоздкая", ну ну на 2 байта, зато работает с 16 битами, а не с 8 как SETcc.
Народ есть проблема! Мне хочется использовать в программе на ассемблере команды SETcc - установка байта по условию (она вроде бы только для процессоров 386 и i486). При компиляции (юзаю TASM 5.0) моей проги пишется:
Как можно избавиться от этой хрени и сделать экзешник?
Кстати, может кто подскажет, какой самый простой способ выполнить операции аналогичные командам SETcc?
Например, какой код лучше всего написать, чтобы записать в регистр AX (или AL, AH)
- 1, если BX равен 5
- 0, если BX не равен 5
Используй FASM или NASM, TASM уже устарел. Первые два бесплатные, да и поддерживают кучу всего, подойдут для написания от ОС до проги под linux/windows и др. ОС. Брать тут:
http://sourceforge.net