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

asm вставка в C++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ суммирование подвекторов; про кота и мышей; простые числа http://www.cyberforum.ru/cpp-beginners/thread195475.html
помогите, пожалуйста, решить задачи: 1) задан массив целых чисел. определим подвектор как один или более последовательных элементов массива. каждому подвектору поставим в соответствие сумму его элементов. требуется написать функцию, вычисляющую максимум из сумм подвекторов в массиве. 2) коту снится, что его окружили 13 мышей. 12 из них серые и одна белая. слышит кот, что кто-то говорит ему:...
C++ [C++] Файлы (программа не работает) (Для двух файлов А и В, которые включают по 17 элементов A={ai }, B={bi} i=1,17 необходимо выполнить следующие действия с элементами ai и bi :ci=ai/bi - 2 и записать полученные значения ciв файл c={ ci } (C++)) Почему-то не работает ,никак не пойму,help #include <iostream> using namespace std; #include "math.h" #include <stdio.h> #include "conio.h" int a,b,c; int i=0; http://www.cyberforum.ru/cpp-beginners/thread195461.html
Ошибка при компиляции. C++
Всем привет! Начал изучать C++ по книжке, но частенько натыкаюсь в ней на ошибки. Пишу в Visual Studio 2008. Программка не сложная,думаю вы сразу разберетесь что к чему. Вот код: #include <iostream> using namespace std; short int Divider (unsigned short int valone, unsigned short int valtwo); int main()
C++ Распарсить путь на составляющие
Всю жизнь программировал на Delphi, но вот потребовалось доработать чужой код написанный на Visual C++ 2010. Столкнулся с банальной задачей. Мне необходимо распарсить путь к файлу на состоявляющие: 1. Полный путь 2. Название папки 3. Имя файла (без расширения) 4. Расширение Добавлено через 1 час 20 минут
C++ В одномерном массиве, состоящем из M вещественных чисел, вычислить: http://www.cyberforum.ru/cpp-beginners/thread195426.html
Помогите исправить ошибку пожалуйста! задание такое: В одномерном массиве, состоящем из M вещественных чисел, вычислить: произведение элементов массива, расположенных до первого нулевого элемента. Вот что я накидал.. int main() { setlocale (LC_ALL, "Rus"); const int n = 5; int i, x = n; double a, pro = 1.0; for (i = 0; i < n; i++) {
C++ Новый тип данных есть ли возможность самому создать новый тип данных, на основе старых, который будет в два-три раза длиннее обычных. unsigned long int -> unsigned long superint. 32 бита -> 64 бита. рассматривал вариант использования массивов типа bool, но интересно, можно ли обойтись без этого. подробнее

Показать сообщение отдельно
agusikdeon
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 9
22.11.2010, 16:29     asm вставка в C++
есть код

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
28
29
30
31
32
33
34
35
36
#include "stdafx.h"
#include <iostream>
#include <fstream>
 
using namespace std;
 
slozh(int* pi1, int si1);
 
int _tmain(int argc, _TCHAR* argv[])
{int massiv[]={1,3,8,16,6,7,11,4,6};
int abc=sizeof(massiv)/4;
slozh (massiv,abc);
 
cout<<abc<<endl;
return 0;}
slozh(int* pi1, int abc)
{int sizea=abc;
 
_asm{
    mov ECX,dword ptr sizea
    push EBX
    mov EBX,EDI
    mov EDI,dword ptr pi1
    mov Eax,0
    mov abc,Eax
k:  mov AX, word ptr [EDI]
    add word ptr abc, AX
    mov AX, word ptr [EDI+2]
    adc word ptr abc+2, AX
    add EDI, 12
    loop k
    mov EDI,EBX
    pop EBX
}
 
return abc;}
функция должна складывать каждый третий элемент массива
а потом нужно вывести это число на экран
но программа постоянно выводит 9
как будто с переменной abc ничего не происходит
помогите пожалуйста сделать!
Заранее Спасибо)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru