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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2008, 03:41   #1
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию Регистры и команды i486 i586 i686 SSE MMX SSE2 etc в качестве альтернативы памяти.

На MASM пишу не очень давно, но уже узрел насущную проблему - любая процедура так или иначе гадит после себя и за собой не убирает, приходится сохранять ESP EAX EBX ECX EDX перед каждым вызовом, неудобно, неприятно, и безумно путает код, но я не об этом. Иногда стандартных регистров почти не хватает для всего что нужно удержать в процессоре на момент вызова. Можно ли использовать вышеописанные регистры и команды, скажем для адресации по памяти, или хотя бы что б хранить в них значения базовых регистров?
PS: Так же интересует возможность сохранения EAX,EBX,ECX,EDX,ESP одной командой, 25 вызовов функций * 5 push *2 pop итого 250 лишних или не очень команд...
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Старый 28.11.2008, 15:33   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

прочитай сначала это http://pblog.ru/?p=241 там написано про обычные команды работы с FPU, но с SSE MMX и прочим аналогично.

по идее можно в них сохранять данные, а зачем? Во-первых, они имеют другую размерность и внесении в них значений они конвертируются к нужный формат. например, в формат расширенной точности. Допустим у теюя в eax указатель в EAX, при внесении какого либо значения в такие регистры оно принимается как вещественное число и конвертируется. Например, значение EAX 012345678h будет не 305419896, а чем-то другим и притом дробным, например 5689.1603
в третьих есть замечательные команды pushad и popad, команда сохраняет/берёт все регистры из стека, и не надо 8 раз Push в начале и 8 раз pop в конце.
rpy3uH вне форума Ответить с цитированием
Старый 30.05.2009, 04:57   #3
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

Недавно решил свою проблему: MMX - оказался именно тем что нужно, 8 64-битных регистров это просто подарок Все же быстрее чем вытаскивать из какой то там дальней памяти.
Такой вопрос, где найти внятную рускооязычную литературу по работе с SSE1-3 SSSE3 и самое важное - SSSE4.1 (процессор имеет поддержку этих команд, хочется опробовать)? На WASM-е нет, там только маленькая статья про SSE/SSE2.
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Старый 30.05.2009, 08:24   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

внятной русскоязычной литературы нет. есть только официальный мануал от Intel и AMD, но они на английском.
rpy3uH вне форума Ответить с цитированием
Старый 02.06.2009, 00:30   #5
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

Цитата:
Сообщение от Ivan_32 Посмотреть сообщение
Недавно решил свою проблему: MMX - оказался именно тем что нужно, 8 64-битных регистров это просто подарок Все же быстрее чем вытаскивать из какой то там дальней памяти.
Такой вопрос, где найти внятную рускооязычную литературу по работе с SSE1-3 SSSE3 и самое важное - SSSE4.1 (процессор имеет поддержку этих команд, хочется опробовать)? На WASM-е нет, там только маленькая статья про SSE/SSE2.
если только FPU не задействован
удобно только если вы на них будите писать вычисления, а сохранять туда регистры это только через память, проще уж через стек
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регистры символов rexec Microsoft Office Excel 11 02.02.2009 13:15
Регистры Манжосов Денис :) Помощь студентам 8 28.07.2008 12:48
Регистры RealSHELS Общие вопросы Delphi 3 28.03.2008 18:56
Регистры Elm0 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 13 10.02.2008 19:49