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

__asm ошибка Access violation writing location - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сканирование с младшого до старшего бита на наличие 1 http://www.cyberforum.ru/cpp-beginners/thread756167.html
Привет всем. Нужна помощь. Есть задание: Задано число А. Мне нужно сделать сканирование с младшого до старшего бита на наличие 1. А тепер проблема - подскажите пжл, как определить конец числа, или подсчитать к-во битов в числе?
C++ Считывание PNG Здравствуйте,форумчане) Пытаюсь прочитать PNG файл,вообще убейте не понимаю почему не работает.Даже длину и ширину нормально не считывает. Кусок кода file = fopen(Name, "rb"); if(file == NULL) { //MessageBox(NULL, 0, L"Ne ydalos onkrit file!", MB_OK); exit(1); }; http://www.cyberforum.ru/cpp-beginners/thread756164.html
Решить уравнение C++
ПОМОГИТЕ РЕШИТЬ СРОЧНО!!! программа должна решать уравнение e^(-x^2 )=∑_(n=0)^∞▒(〖(-1)〗^n x^2n)/n! 1-x^2+x^4/2!-x^6/3!+x^8/4!-…|x|<∞
C++ Организовать ввод целых четных значений в одномерный массив с контролем вводимых чисел
Организовать ввод целых четных значений в одномерный массив с контролем чисел вводимых
C++ Кратность целой части числа http://www.cyberforum.ru/cpp-beginners/thread756112.html
Дан массив вещественных чисел. Размер – случайное число из диапазона , элементы задает пользователь. Определить сумму чисел, целая часть которых кратна трем. Как определить кратность целой части?
C++ Программа работает только в win 7 Здравствуйте! Я не программист, но пришлось написать простенькую прогу, которая работает с внешней dll. Dll подключал динамически по одному из множества примеров. Писал в MS Visual Studio 2010 под win xp, как консольное приложение. Получилось так, что программа работает корректно только под win 7. Dll нужна для генерации ключа (key) по запросу (seed), такой механизм используется для... подробнее

Показать сообщение отдельно
pepepe
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 3
08.01.2013, 21:52     __asm ошибка Access violation writing location
Код ниже выводит следующую ошибку
"Unhandled exception at 0x004116a7 in cousach.exe: 0xC0000005: Access violation reading location 0x00000003"

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
int counter(int num, int power );
 
int _tmain(int argc, _TCHAR* argv[])
{
    printf_s( "power %d\n", counter( 3, 5) );
    getch();
    return 0;
}
 
int counter(int num, int power )
{
    __asm
    {
        mov eax, num ; num
            mov ecx, power ; power -1
            mov esi, 0
            mov ebp, num
power_f:
 
        imul ebp ; 8 * 8 
            mov eax, eax ; ebp = 64
 
            inc esi
 
            cmp esi, ecx
            jl power_f 
;        нужно вывести eax
 
    }
}
делаю по примеру ниже, который работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
int power2( int num, int power );
 
int main( void )
{
    printf_s( "3 times 2 to the power of 5 is %d\n", \
              power2( 3, 5) );
}
int power2( int num, int power )
{
   __asm
   {
      mov eax, num    ; Get first argument
      mov ecx, power  ; Get second argument
      shl eax, cl     ; EAX = EAX * ( 2 to the power of CL )
   }
   // Return with result in EAX
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru