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

C++ С вставкой подпрограммы асемблера - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сканирование и ввод капчи http://www.cyberforum.ru/cpp/thread1591322.html
Нужна программа, которая способна считывать и вводить капчу в определенное поле. Капча всегда в одном формате, одним шрифтом. Возможно ли реализовать подобное с помощью С++, если нет, то с помощью какого?
C++ Знак :: Натыкался несколько раз на код вида ::some_func(); Что это означает? Никогда раньше не видел чтобы какая та конструкция начиналась с двух двоеточий. http://www.cyberforum.ru/cpp/thread1591190.html
C++ Альтернатива sleep() из С++11
В языке Си есть функция Sleep() из windows.h, но она сторонняя и платформо-зависимая Как можно решить ту же задачу, используя стандарт именно С++? Слышал что-то про thread и chrono из С+11, но хотелось бы разобраться побольше, что к чему и как с этим работать.
C++ Отказ компиляторов на windows 8.1
Здравствуйте, вот несколько IDE. MVS 2015, MVS 2015 переустановил, MVS 2015 RT, MVS 2013 , MVS 2013 udate 5, QT comunity, dev c++ 5. Все отказались работать на моей машине(программа собирается но не запускается (на MVS замораживается и не реагирует ни на что), ни в режиме отладки, ни по двойному клику ), ОС Winows 8.1 стоят все обязательные обновления. Попробовал на второй машине, там были...
C++ Переход с RAD на VC http://www.cyberforum.ru/cpp/thread1589300.html
Приветствую ребята, хотелось бы взвесить все плюсы и минусы этих IDE, но т.к. опыта разработки в них очень мало, вот и возникло такое желание, выбрать все-таки нормальную и документированную систему:) Некоторое время работал в RAD, эта среда достаточно хорошая, но иногда приходится плеваться из-за подключения сторонних модулей/расширений/плагинов. Кто что думает, что "лучше", RAD или VC++ ?
C++ Ошибка деструктора шаблонного класса Господа,голову ломаю,не могу понять,в чём проблема. Суть в том,что нужно реализовать шаблонный класс "Многочлен" с перегрузкой операторов, вычислением результата. Программа работает без проблем, если коменчу деструктор, что не есть хорошо,но с ним программа отказывается работать. Заранее спасибо. Ниже ошибка и сам код: #include <cmath> #include <iostream> using namespace std; template... подробнее

Показать сообщение отдельно
zlodeyxgm
0 / 0 / 1
Регистрация: 08.09.2015
Сообщений: 43

C++ С вставкой подпрограммы асемблера - C++

24.11.2015, 18:10. Просмотров 244. Ответов 0
Метки (Все метки)

Добрый день. Есть задание написать программу используя ввод и вывод С++, а расчеты выполнить с помощью ассемблера. Решил начать с малого и рассчитать часть программы.

Y=MAX(A,A+B)
Вводим А и В
В регистр 0 заносим А в регистр 1 заносим А+В
вызываем подпрограмму МАХ.
сравниваем р0 и р1 регистры
выполняем переход если р0-р1 больше нуля.
меняем регистры местами (нужное число будет лежать в регистре р0 (из регистра р1 перенесем в р0))
переход:возвращаемся в программу (нужное число будет лежать в регистре р0)

Сам код:
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
#include "stdafx.h"
#include <iostream> 
using namespace std;
// Y=max(A,A+B)
int main()
{
    setlocale(LC_ALL, "Russian");
    int a,b,c,tmp,y=0,y1=0;
    cout<<"Введите А В С: ";
    cin>>a>>b>>c;
    __asm
    {
        mov eax,[a];
        mov ebx,[b];
        add ebx,eax;
        call MAX;
        MAX: CMP eax,ebx;
            JA reti;
            XCHG eax,ebx;
            reti:mov [y],eax;
        mov [y],eax;
        mov [y1],ebx;   
    }
    cout<<endl;
    cout<<"rX="<<y<<"rB="<<y1<<endl;
    cout<<"Y="<<y<<endl;
    system("pause");
    return 0;
}
При использование функции call MAX Студия выполняет программу и при закрытие консоли выдает ошибку.
При использование функции ret программа просит повторного ввода А В С. Я так понимаю функция ret заставляет работать программу полностью с нуля. Как это решить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru