Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Apollo_11
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 9
1

Регистр флагов в обычный регистр

12.05.2016, 22:44. Просмотров 1025. Ответов 6
Метки нет (Все метки)

Можно ли положить регистр флагов в обычный регистр (допустим, eax)? (для дальнейшего вывода на экран)
Если да, то как правильно это сделать?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2016, 22:44
Ответы с готовыми решениями:

Как сохранить и восстановить регистр флагов?
Как сохранить и восстановить регистр флагов?

Слово состояния процессора Это регистр флагов?
Слово состояния процессора Это регистр флагов? и можно ли прочитать состояние...

Внести в регистр А двоично-десятичное число XX, в регистр R5 — XX
Внести в регистр А двоично-десятичное число XX, в регистр R5 - XX, попеременно...

Непонятный регистр
Как понять 000ah? sub ,ax

Как обнулить регистр?
Подскажите, как обнулить отдельные регистры в ассемблере?

6
R71MT
5309 / 1470 / 313
Регистрация: 29.07.2014
Сообщений: 2,511
Записей в блоге: 5
12.05.2016, 23:06 2
FASM manual:

"LAHF" копирует SF, ZF, AF, PF и CF в биты 7, 6, 4, 2 и 0 регистра AH. Содержание остальных битов не определено. Флаги остаются неизменными.

"SAHF" переводит биты 7, 6, 4, 2 и 0 из регистра AH в SF, ZF, AF, PF и CF.
0
Apollo_11
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 9
12.05.2016, 23:12  [ТС] 3
Пробую так:

Assembler
1
2
pushf
popf %ecx
Но выдаёт Error: number of operands mismatch for `popf'
Но вроде же правильно?
0
R71MT
5309 / 1470 / 313
Регистрация: 29.07.2014
Сообщений: 2,511
Записей в блоге: 5
12.05.2016, 23:15 4
..тогда нужно просто POP, без F
и снимать нужно в CX, а не в ECX
1
Apollo_11
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 9
12.05.2016, 23:16  [ТС] 5
R71MT, тогда выдаёт operand type mismatch for `pop'
0
R71MT
5309 / 1470 / 313
Регистрация: 29.07.2014
Сообщений: 2,511
Записей в блоге: 5
12.05.2016, 23:19 6
Лучший ответ Сообщение было отмечено Apollo_11 как решение

Решение

Assembler
1
2
3
4
5
       pushfd
       pop  eax
;------------------------
       pushf
       pop  ax
1
Apollo_11
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 9
12.05.2016, 23:36  [ТС] 7
R71MT, благодарю, с первым вариантом скомплировался. Но теперь говорит, что ошибка сегментации (сделан дамп памяти). Именно на эти две строчки ругается.
Ох, незадача
0
12.05.2016, 23:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2016, 23:36

Запись данных в регистр
Всегда интересовал один вопрос, всегда на него находил ответ, и также успешно...

Пересылка в индексный регистр
Доброго времени суток! Прошу помочь с кодом, мне необходимо сделать след....

Регистр cx и длина строки
Доброго времени суток. Не могу понять почему выдает ошибку в строках 27 и 30....


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru