Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Daria Pimenova
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 10
1

Количество нулей в двоичной записи числа (ассемблерные вставки в с++)

07.12.2011, 07:22. Просмотров 1371. Ответов 9
Метки нет (Все метки)

написала ф-цию,которая считает число нулей k в двоичной записи числа m
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int m_asm(int m)
{
    int k;
    __asm 
    {
        mov ax,m
        mov cx,2                        
        mov dx,0
        m1: cmp ax,0 je m2   
            div cx                                
            cmp ah,0  je inc dx  
            sub ax,ah 
            div cx                    
            mov ax,al
        jmp m1
        m2: mov k,dx
        }
      return k;
}
а выходят такие ошибки:
max.cpp: In function ‘int maximuma_asm(int)’:
max.cpp:12: error: expected ‘(’ before ‘{’ token
max.cpp:13: error: ‘mov’ was not declared in this scope
max.cpp:13: error: expected ‘;’ before ‘ax’
помогите их исправить

Добавлено через 8 минут
кстати,m - натуральное
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2011, 07:22
Ответы с готовыми решениями:

Подсчитать количество единиц в двоичной записи числа
здравствуйте. подскажите пожалуйста, в чем ошибка? вот программа, которая подсчитывает количество...

Количество значащих разрядов в двоичной записи целого числа
как определить количество значащих разрядов в двоичной записи целого числа на ассемблере ?

Подсчет нулей в двоичной записи числа
Всем доброго времени суток !!! Задание следующее: Мы вводим число в 8-й системе, надо перевести...

Для массива определить количество элементов больших, меньших и равных заданному числу (Ассемблерные вставки С++)
Помогите написать программу на языке C++: Для массива 32-х битных целых чисел определить количество...

Ассемблерные вставки:(
Есть программа которая В исходную строку вставляет после заданного символа все символы,...

9
taras atavin
4207 / 1774 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
07.12.2011, 07:51 2
asm - одно из зарезервированных слов языка, пишется без подчёркиваний.
0
Daria Pimenova
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 10
07.12.2011, 08:08  [ТС] 3
если просто написать
asm
{
;код программы
}
то ничего не меняется

Добавлено через 3 минуты
если написать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int m_asm(int m)
{
    int k;
    asm
    {
        mov ax,m
        mov cx,2                        
        mov dx,0
        m1: cmp ax,0 je m2   
            div cx                                 
            cmp ah,0  je inc dx  
            sub ax,ah 
            div cx                     
            mov ax,al
        jmp m1
        m2: mov k,dx
        }
      return k;
}
то ничего не меняется, те же ошибки
0
vital792
2004 / 1276 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
07.12.2011, 08:16 4
а в какой среде запускается код?
0
Daria Pimenova
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 10
07.12.2011, 08:16  [ТС] 5
под linux
0
vital792
2004 / 1276 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
07.12.2011, 08:21 6
Цитата Сообщение от Daria Pimenova Посмотреть сообщение
под linux
в смысле под какой компилятор? не gcc случайно?)
0
Daria Pimenova
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 10
07.12.2011, 08:25  [ТС] 7
нет, g++
0
vital792
2004 / 1276 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
07.12.2011, 08:32 8
Цитата Сообщение от Daria Pimenova Посмотреть сообщение
нет, g++
так это то же самое. На сколько я помню интел синтаксис не поддерживается (хотя может и ошибаюсь, может и можно как то включить) но по умолчанию at&t
ru.wikipedia.org/wiki/GCC_Inline_Assembly
1
taras atavin
4207 / 1774 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
07.12.2011, 09:50 9
vital792, данный аспект может и совпадает, но это не тоже самое, между ними есть различия, не касающиеся ассемблера.
1
vital792
2004 / 1276 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
07.12.2011, 13:08 10
taras atavin, я понимаю. Я имел ввиду в контексте данной проблемы.
0
07.12.2011, 13:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2011, 13:08

Ассемблерные вставки
1)Всем добрый вечер.Хотелось бы узнать как считать а потом вывести что либо (код должен быть...

Ассемблерные вставки в паскале
Нужно представить тело цикла в виде ассемблеровской вставки program test0015; var j:integer; ...

Ассемблерные вставки в Virtual Pascal
Для массива 32-х битных целых чисел определить количество элементов больших заданного числа,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru