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

Выполнить с использованием ассемблерной вставки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вызывается ли деструктор в данной программе? http://www.cyberforum.ru/cpp-beginners/thread1203416.html
вызывается ли деструктор в данной программе и почему он не выводит на экран,что он выведен...?#include "stdafx.h" #include <iostream> #include <string.h> #include <conio.h> using namespace std; class vokzal{//определение структуры класса private ://определение полей данных
C++ Можно ли как-то осуществить вывод кириллицы в консоль, не используя Lucida Console Собственно сабж в заголовке. Есть способ оставить стандартный Consolas? http://www.cyberforum.ru/cpp-beginners/thread1203398.html
C++ Указатели (pointers) и их практический смысл?
Добрый день, будьте добры, пожалуйста, объясните - вот я сейчас читаю про указатели (*pointers или &pointers). В практике они часто применяются? Я не очень понимаю их практическую полезность и широту употребления.
Сдвинуть элементы массива вправо циклически на 1 шаг C++
Задан одномерный массив целых чисел длины n. Сдвинуть элементы массива вправо циклически на 1 шаг. Пример входных данных 4 1 2 3 4 Пример выходных данных 4 1 2 3 Вот мой код (не сдвигает элементы) #include <iostream>
C++ Вычислить площадь полной поверхности правильной четырёхугольной пирамиды http://www.cyberforum.ru/cpp-beginners/thread1203355.html
Вычислить площадь полной поверхности правильной четырёхугольной пирамиды со стороной основания a и высотой h. Технические условия Входные данные В единственной строке через пробел сторона основания a и высота пирамиды h. Все входные данные целые числа, не превышающие 100. Выходные данные Искомая площадь, результат вывести с точностью до десятых.
C++ Пожалуйста, переведите с Pascal на C++ Помогите, пожалуйста. Времени в обрез. var arr: array of integer; i,n: integer; begin read(n); for i := 1 to n do begin read(arr); подробнее

Показать сообщение отдельно
5oundtech
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 42
09.06.2014, 12:52  [ТС]     Выполнить с использованием ассемблерной вставки
Я написал на обычном с++, но хоть убейте не могу перевести на ассемблерную вставку.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main()
{
setlocale(0,"rus");
    char c[10];
    cin >> c;
    int i = 0;
    int e = 0;
    for each(int b in c)
    {
        if(b <= 57 && b>=49)
            i++;
        else
            e++;
    }
    cout<< "i: " << i << endl; 
system("pause");
    
    return 0;
}
Добавлено через 12 минут
Впрочем не долго я мучился, и понял что всё довольно просто:
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
int main()
{
setlocale(0,"rus");
    char c[10];
    cin >> c;
    int i = 0;
    int e = 0;
    for each(int b in c)
    {
    //  if(b <= 57 && b>=49)
            _asm{
                mov eax,b
                cmp eax,49
                jge test2
                jmp end2
test2:
                cmp eax,57
                    jle end
                    jmp end2
end:
                add i,1
end2:
                add e,1
        }
    }
    cout<< "i: " << i << endl; 
system("pause");
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru