Форум программистов, компьютерный форум CyberForum.ru

Что значит регистры флагов? - C++

Восстановить пароль Регистрация
 
vbloodv
 Аватар для vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
01.04.2013, 17:04     Что значит регистры флагов? #1
Известно где услышал звон "Пацаны, компиляйте в нейтив, дебажте идой, прописывайте относительные смещения, сбрасывайте регисты флагов." Поясните что означают эти фразы, не на примерах, а назначение и цель, где используется (про натив знаю)...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2013, 17:04     Что значит регистры флагов?
Посмотрите здесь:

C++ что значит /=
Что значит? C++
Sleep(8000) - что значит? На что можно заменить в борланд с++? C++
C++ Что значит new ()
C++ Что значит Handle hf? Что в эту функцию нужно передавать
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
01.04.2013, 17:15     Что значит регистры флагов? #2
Регистр флагов - это регистр, в котором позиция каждого бита отображает состояние процессора или результаты операций.

А вообще возьмите книгу по ассемблеру, там есть все что нужно знать о регистрах.

Добавлено через 2 минуты
Цитата Сообщение от vbloodv Посмотреть сообщение
"Пацаны, компиляйте в нейтив,
Машинный код
Цитата Сообщение от vbloodv Посмотреть сообщение
дебажте идой,
IDA?
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
01.04.2013, 17:18     Что значит регистры флагов? #3
Нет, тут ида - это IDA - Interactive Disassembler Pro - один из дизассемблеров. Но "дебажить идой".... хммм... я бы сказал, что это на любителя.
Croessmah
01.04.2013, 17:20
  #4

Не по теме:

Цитата Сообщение от CheshireCat Посмотреть сообщение
Нет, тут ида - это IDA - Interactive Disassembler Pro
букву перепутал

taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
01.04.2013, 17:20     Что значит регистры флагов? #5
Цитата Сообщение от vbloodv Посмотреть сообщение
Известно где услышал звон "Пацаны, компиляйте в нейтив, дебажте идой, прописывайте относительные смещения, сбрасывайте регисты флагов." Поясните что означают эти фразы, не на примерах, а назначение и цель, где используется (про натив знаю)...
регистры флагов даже к высокому уровню вообще не относятся, тем более к плюсам, это раздел не ассемблера и не паскаля.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
01.04.2013, 18:09     Что значит регистры флагов? #6
Цитата Сообщение от taras atavin Посмотреть сообщение
это раздел не ассемблера и не паскаля.
а к паскалю FLAGS какое отношение имеет? Просто я его вообще не знаю, но всегда считал, что это что-то куда выше, чем С.

Цитата Сообщение от vbloodv Посмотреть сообщение
Поясните что означают эти фразы, не на примерах, а назначение и цель, где используется
Регистр флагов - каждый (почти) бит в этом регистре имеет определенное значение.
Пример
C++
1
2
3
unsigned int a = 0xFFFFFFFE; 
unsigned int b = 3;
unsigned int c = a + b; // 0xFFFFFFFE + 3 = 1, т.е. происходит переполнение
в регистре флагов есть специальный бит (читай "флаг") который выставляется при переполнении. По нему можно узнать было ли переполнение при выполнении предыдущей операции.
Еще в регистре флагов есть флаги, отвечающие за режим работы (конкретно virtual mode) и IOPL (приоритет ввода/вывода, актуально для Virtual mode). Более подробную информацию можно найти в той же википедии, но, как уже написали выше, при программировании на С/С++ о флагах можно вообще не заботиться и даже не знать, что они существуют.

Добавлено через 3 минуты
Цитата Сообщение от vbloodv Посмотреть сообщение
прописывайте относительные смещения
Это вообще что-то странное. Если я правильно понял, то имеется ввиду относительное (относительно текущей операции) смещение переходов. Это делает программу переносимой, т.е. она может быть загружена в любую область памяти. Но компилятор сам это делает (там где надо, там где не надо не делает ).

Добавлено через 37 секунд
Цитата Сообщение от vbloodv Посмотреть сообщение
сбрасывайте регисты флагов.
с балкона?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2013, 00:39     Что значит регистры флагов?
Еще ссылки по теме:

C++ что значит ?
C++ Что значит getch()-48?
Что значит ->? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
vbloodv
 Аватар для vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
02.04.2013, 00:39  [ТС]     Что значит регистры флагов? #7
Цитата Сообщение от taras atavin Посмотреть сообщение
регистры флагов даже к высокому уровню вообще не относятся, тем более к плюсам, это раздел не ассемблера и не паскаля.
Про какой высокий уровень идет?
Кликните здесь для просмотра всего текста
Вот собственно сама виновница моего вопроса чтобы быстро найти то что нужно ctrl+f = L"Только хардкор!" многие моменты остаются непонятными такие как и откуда действительно стоит скидывать регистры флагов
Yandex
Объявления
02.04.2013, 00:39     Что значит регистры флагов?
Ответ Создать тему
Опции темы

Текущее время: 02:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru