С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

__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 ==... 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... подробнее

Показать сообщение отдельно
pepepe
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 3

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

08.01.2013, 21:52. Просмотров 3290. Ответов 8
Метки (Все метки)

Код ниже выводит следующую ошибку
"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
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.