|
E=m*c^2
|
|
Возможна ли косвенная адресация для обмена с ymm регистрами?24.02.2020, 14:46. Показов 2650. Ответов 16
Метки нет (Все метки)
Всем доброго времени!
Правильно ли я понимаю что для инструкций movaps и аналогичным им нельзя использовать в качестве указателя адреса регистр? то есть получается адреса загрузки и выгрузки данных "намертво зашиваются" еще на стадии трансляции и единственный способ сделать их динамическими это динамически менять код самих инструкций то таким образом чтобы часть инструкции указывающие на смещение принимала нужное мне динамическое значение?
0
|
|
| 24.02.2020, 14:46 | |
|
Ответы с готовыми решениями:
16
Косвенная адресация Косвенная адресация косвенная адресация |
|
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
|
|
| 24.02.2020, 15:16 | |
|
можно, почему нет .
0
|
|
|
E=m*c^2
|
|
| 24.02.2020, 15:36 [ТС] | |
|
значит я ошибаюсь в написания
вы могли бы написать пример как правильно (одну строку). Добавлено через 6 минут тема закрыта. Добавлено через 11 минут сам не могу понять что же я такое неправильно набирал что оно не работал
0
|
|
|
Модератор
|
|
| 24.02.2020, 18:10 | |
Сообщение было отмечено K_ILYA_V как решение
Решение
K_ILYA_V, первоисточником для ответов на вопросы по инструкциям является 2-й том Intel.
https://software.intel.com/sit... -2abcd.pdf Здесь чуть больше ссылок ✅ Полезные ссылки, книги, инструменты Раз вы глубоко интересуетесь этой темой, всё равно найдёте эту книгу. Позже найдёте соответствующие интринсики в C, которые превращаются в инструкции SIMD.
1
|
|
|
E=m*c^2
|
|
| 24.02.2020, 18:22 [ТС] | |
|
интерес у меня настоящий, а знание английского языка фальшивое. я учу но на данный момент продвинулся от имбецила до дебила.
Добавлено через 7 минут я в курсе о существовании "оберток" для векторных инструкций в с++, я пробовал их использовать., они все равно не дают такого контроля и скорости как непосредственные команды
0
|
|
|
4192 / 1839 / 222
Регистрация: 06.10.2010
Сообщений: 4,125
|
|
| 28.02.2020, 17:53 | |
|
Посмотри на инструкции типа VGATHERDPD - там вообще для адресации используются ymm-регистры.
1
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
| 28.02.2020, 18:37 | ||||||
|
murderer, зачем так человека пугать?
![]() K_ILYA_V, вот тут по-русски: https://www.club155.ru/programming Примеры аналогичные обычному mov:
vmovaps может принимать регистры xmm, а вот movaps принимать ymm / zmm не может.
1
|
||||||
|
E=m*c^2
|
|||
| 28.02.2020, 18:42 [ТС] | |||
|
Добавлено через 2 минуты
0
|
|||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|||||||
| 28.02.2020, 19:13 | |||||||
|
fasm:
Т.е. в результате zmm0 будет хранить числа 0.0, 20.0, 0.0, 40.0, 0.0, 60.0, 0.0, 80.0 (если смотреть позиции от младших к старшим). Добавлено через 1 минуту Аналогичное можно проделать и с ymm, но это всё равно AVX-512.
1
|
|||||||
|
E=m*c^2
|
||||||
| 28.02.2020, 19:18 [ТС] | ||||||
|
то есть "регистры К" это не некие виртуальны конструкции включаемые в код команды а вполне реальные регистры которые нужно предварительно загружать данными?
мне казалось они доступны и для ymm регистров. а вот такой детский вопрос:
0
|
||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||
| 28.02.2020, 19:39 | ||||
|
Этих вполне реальных регистров куча, где-то на форуме даже тема была об этом. Вот, нашёл: Что означают первые и последние символы в названиях регистров (eax, ebx и др.) Т.е. вы сможете их ассемблировать, но исполнить не получится. Как не сможете исполнить vmovaps ymm0,[eax] без AVX или какой-нибудь bextr eax,ecx,edx без BMI-расширения.Icshdlinekey facekey128 <> или Icshdlinekey facekey128 <<0,1,2,3,4,5,6,7,8,9>>
1
|
||||
|
E=m*c^2
|
|
| 28.02.2020, 19:49 [ТС] | |
|
оки-доки.
я часто пользуюсь подсказка а там не всегда можно легко понять относиться инструкция к V2 или V5, как следствие возникли трудности. я думаю на сегодня у меня все. надеюсь ближе к концу выходных выложить подвижки моего кода который всегда открыт к критике. заходите читайте.
0
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
|
| 28.02.2020, 20:50 | |
|
Вот вам ещё пара подсказок:
https://www.nasm.us/doc/nasmdocb.html https://en.wikipedia.org/wiki/... n_listings
0
|
|
|
Модератор
|
|
| 28.02.2020, 22:18 | |
|
У Intel есть программа, эмулирующая недостающие инструкции SIMD в программе пользователя.
https://software.intel.com/en-... t-emulator можно попробовать AVX-512 Это предназначено для изучения инструкций, т.к. они просто медленно эмулируются.
1
|
|
|
E=m*c^2
|
||
| 28.02.2020, 22:34 [ТС] | ||
|
сейчас я наоборот предполагаю обратный процесс. если мне удастся довести свой проект до какой либо рабочей стадии то я буду рассматривать вопрос дополнения его версиями для SEE4 чтобы тем самым добиться большего охвата аудитории. проектирование на avx я выбрал потому что хочу с ним ознакомиться и это наиболее "простой" способ по причине наличия большого количества инструкций значительно все упрощающих.
0
|
||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|||
| 29.02.2020, 10:24 | |||
|
Единственная проблема: не всё удаётся отлаживать. Тот же AVX-512 исполнить под отладчиком не удастся ![]() Добавлено через 15 минут https://habr.com/ru/post/342272/ https://stackoverflow.com/ques... -frequency (и там же есть ссылка на статью в первом сообщении) Но конечно же, AVX удобнее хотя бы с той точки зрения, что позволяет задавать отдельно регистр для получения результата той или иной операции (к примеру, даже при работе с xmm: vaddps xmm0,xmm1,xmm2, а не addps xmm0,xmm1).Также хочу предостеречь от перемешивания SSE и AVX инструкций (с v и без v), ибо при этом происходит большая задержка (latency).
1
|
|||
|
E=m*c^2
|
||
| 29.02.2020, 11:53 [ТС] | ||
|
сравнение ymm c ymm перенос знаковых битов после сравнения из ymm в к-регистр дальнейшие действие при помощи маски в к-регистре Добавлено через 57 минут именно с такой проблемой я уже столкнулся и чтобы ее преодолеет пришлось написать механизм "догрузки" в ymm регистры, если бы мне была доступна маска то все было бы гораздо проще.
0
|
||
| 29.02.2020, 11:53 | |
|
Помогаю со студенческими работами здесь
17
Косвенная адресация
Косвенная адресация в T-SQL Косвенная адресация процедур в VBA Указатели. Матрица и двойная косвенная адресация Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|