сравнение чисел



Автор ыштсуьшч задал вопрос в разделе Другие языки и технологии

как в ассемблере сравнивать числа и получил лучший ответ

Ответ от Counter[гуру]
>В любом случае числа необходимо поместить в регистры процессора
не правда.
>Для сравнения чисел необходимо вычесть из одного другое а дальше смотреть на флаг результата
тоже не обязательно
tempVar dd 3
...
cmp dword [tempVar],eax
отлично сработает.
положительно ли число в eax
push ebx
xor ebx,ebx ;обнул
cmp eax, ebx
pop ebx
jg somewhere

Ответ от JaM[гуру]
В любом случае числа необходимо поместить в регистры процессора. Для сравнения чисел необходимо вычесть из одного другое а дальше смотреть на флаг результата

Ответ от Капитан Гугл[гуру]
Результаты действий отражаются на флаговом регистре. Соответствующие флаги выставляются в 0 или 1. Например, ZF - флаг нуля, если результат последней операции 0, он будет равен 1. Использовать флаги можно с помощью операций условного перехода, например JZ метка - переход на метку, если последняя операция дала 0. Дальше учебник читай.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: как в ассемблере сравнивать числа

assembler tasm - в чем ошибка?
Код программы очень большой, поэтому привожу только фрагменты с ошибками.

...подробнее...

Ассемблер. Команда cmp.
искать нужно полную документацию по intel assembler, например. вот кусок древней:

CMP
подробнее...

ASSEMBLER: как вывести символ в графическом режиме
Как то так
---------------
а если так
text db 'Assembler',0

mov si,offset
подробнее...

Нужна программа на Ассемблере [Assembler, SOS =D]
1ая. SASM IDE (NASM + макросы для вывода), на базе Linux, но с миним. переделками заработает в
подробнее...

Реализовать на ассемблере циклы For и While.
for:
mov cx,i
m1: тело цикла
loop m1

while:
L2: cmp ax,0
jle L1
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

Вывод значения регистра на экран. ассемблер
Прежде всего, необходимо преобразовать число в строку.
А вам могу дать (не самую лучшую)
подробнее...
спросили в Ассемблер
Ассемблер сдвиги. Как умножить любое число на 13 с помощью сдвигов в ассемблере
13 = (2 + 1) * 4 + 1 - меньше сдвигов (3 против 5), хотя это актуально только для процессоров,
подробнее...
спросили в Ассемблер
Условие на ассемблере if
там не if только по флагам

Slava m
Искусственный Интеллект
(126516)подробнее...
спросили в Ассемблер
ассемблер
jg,jge,jl,jle - инструкции для операций перехода по результатом сравнения ЗНАКОВЫХ значений !подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*