Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972

Обнулить элементы вектора через __asm

06.04.2014, 15:06. Показов 3840. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу обнулить элементы вектора через __asm

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <vector>
#include <iostream>
 
using namespace std;
 
void main() {
   vector<vector<int>> v(2, vector <int> (3, 1));
 
   __asm {
      mov ecx, 2
      mov edi, v
      mov eax, dword ptr [edi + 16]
      mov edi, [edi][1]
        
      //mov dword ptr [edi + 8], 0
   cycl:
      mov dword ptr [edi + ecx*4], 0
      //add eax, 4
      loop cycl
   }
     
   for (int i = 0; i < 2; ++i) {
      for (int j = 0; j < 3; ++j)
         cout << v[i][j] << " ";
      cout << endl;
   }
}
Сам вопрос: eax и edi имеют разные значения, причем в eax лежит правильный результат. Я же хочу получить доступ ко 2-й строке через индексацию [1]. Как это реализовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2014, 15:06
Ответы с готовыми решениями:

обнулить каждый 5-ый элемент вектора
Вроде все должно работать, в компиляторе CodeBlocks все работает, а в Visual Studio 2012 выводится ошибка offset out of range. Не пойму в...

Дан список, элементы которого являются координатами вектора. Найти длину вектора
1. Дан список, элементы которого являются координатами вектора в n-мерном пространстве. Найти длину вектора.

STL. Функция, которая будет искать элементы большее среднего арифметического вектора и удалять их из вектора
у меня есть вектор, помогите пожалуйста дописать функцию, которая будет искать элементы большее среднего арифметического вектора и удалять...

24
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
10.04.2014, 21:54  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от DrOffset Посмотреть сообщение
VS делает свои оптимизации с заточкой на Intel платформу
чтобы в этом убедиться, надо построить проект на AMD, а потом запустить на Intel
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
10.04.2014, 22:19
Цитата Сообщение от mat_for_c Посмотреть сообщение
чтобы в этом убедиться, надо построить проект на AMD
Это не поможет. Не важно на какой платформе строить. Просто у Microsoft c Intel партнерство и их компилятор заточен под Intel лучше. Нужно найти компилятор, с оптимизациями для AMD и строить проект на нем.
0
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
11.04.2014, 14:14  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Это не поможет
посмотрел что имеется в папке VC/lib, увидел, что там еще лежит папка AMD. может, если через нее собирать проект, то на AMD нормально по скорости получится?
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
11.04.2014, 14:50
Цитата Сообщение от mat_for_c Посмотреть сообщение
лежит папка AMD. может, если через нее собирать проект, то на AMD нормально по скорости получится?
Возможно, не могу точно сказать. Но попробовать стоит.
Может быть еще это поможет.
0
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
11.04.2014, 22:16  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
. После работы обоих алгоритмов векторы не равны между собой (я сохранил результата работы первого алгоритма и сравнил с результатом второго, векторы не равны). Это значит, что асм делает заполнение как-то иначе. И это - проблема.
мой косяк. ошибся в расчетах итераций цикла. последние 3 строчки во вставке не нужно было писать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.04.2014, 22:16

Используя алгоритм adjacent_find, обнулить первую пару соседних элементов вектора, имеющих одинаковую чётность
Дан вектор V. Обнулить первую пару соседних элементов, имеющих одинаковую четность. Например, список 1, 2, 3, 4, 6, 8, 3, 1 должен быть...

Заменить первые два нулевые элементы заданного вектора В на два первых НЕ нулевые элементы этого вектора
Дано вектор В, состоящий из N действительных чисел. Заменить первые два нулевые элементы заданного вектора В на два первых НЕ нулевые...

Заменить первых 2 нулевые элементы заданного вектора соответственно на первых 2 не нулевые элементы этого вектора
Заданный вектор Т, который состоит из n действительных чисел. Заменить первых 2 нулевые элементы заданного вектора соответственно на первых...

Из вектора С(n) сформировать вектор A, содержащий чётные элементы вектора С и вектор В содержащий нечётные элементы
С++, массив из вектора С(n) сформировать вектор A, содержащий чётные элементы вектора С и вектор В содержащий нечётные элементы

Обнулить элементы матрицы
Элементы матрицыT стоящие на пересечение четных строк и четных столбцов обнулить! РЕшите плиззззз :(((((((((:gcray2


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли Введение: Экологический рынок как игра с нулевой суммой Традиционная экология долгое время. . .
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ Введение: Синдром «цифрового учебника» Современные большие языковые модели (LLM) обладают колоссальным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru