Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ассемблер(пифагоровы_тройки) 
:(
    Опции темы
girlsbest
Дата 26.5.2009, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 19.10.2008

Репутация: нет
Всего: нет



Нужно найти пифагоровы  меньше n, которое вводит пользователь...
вот что у меня получилось, но тут есть ошибка, помогите найти...
Код

# include <iostream>
using namespace std;
int main ()
{
    short a,b,c,n,n1;
    cout<<"enter number n\n";
    cin>>n;
    __asm
    {
        mov dx,0
            mov bx,0
            mov cx,0
            mov ax,n
            mov n1,ax
            add n1,1
            
m1:
        mov a,dx

m2:
        mov b,bx
m3:
        mov c,cx
            mov ax,a
            imul ax
            mov a,ax
            mov ax,b
            imul ax
            mov b,ax
            mov ax,c
            imul ax
            mov c,ax
            add b,ax
            mov ax,b
            cmp a,ax
            jnl m4
    }
                cout<<a<<" "<<b<<" "<<c<<endl;
    __asm
    {
m4:
        inc cx
            cmp n1,cx
            jnl m3
            mov cx,0
            add bx,1
            cmp n1,bx
            jnl m2
            mov cx,0
            mov bx,0
            add dx,1
            cmp n1,dx
            jnl m1
    }
    
                

    return 0;
}

PM MAIL   Вверх
azesmcar
Дата 26.5.2009, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



girlsbest

А то что этот код к С++ имеет столько же отношения - сколько Мать Тереза к терактам в Палестине - вы не заметили?

Это сообщение отредактировал(а) azesmcar - 26.5.2009, 21:45
PM   Вверх
andrew_121
Дата 26.5.2009, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



 smile А стандартный вывод можно было уже и заменить на прерывание что ли. Ну чтоб ваще ничего из С++


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
math64
Дата 27.5.2009, 08:58 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 12
Всего: 72



После
Код

                cout<<a<<" "<<b<<" "<<c<<endl;

Вы делаете
Код

    __asm  {  inc cx;  }

Вывод с помощью C++ попортит Вам все регистры!
PM   Вверх
GoldFinch
Дата 27.5.2009, 10:05 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



Код

            jnl m4
            pusha
    }
                cout<<a<<" "<<b<<" "<<c<<endl;
    __asm
    {
            popa
m4:
            inc cx
            cmp n1,cx

PM MAIL ICQ   Вверх
azesmcar
Дата 27.5.2009, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(GoldFinch @  27.5.2009,  10:05 Найти цитируемый пост)
popa

это характеризует программу? smile 
PM   Вверх
girlsbest
Дата 27.5.2009, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 19.10.2008

Репутация: нет
Всего: нет



извините я как-то автоматически сюда поместила эту задачу...
PM MAIL   Вверх
azesmcar
Дата 28.5.2009, 07:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



girlsbest

Ну так у вас есть решение. pusha сохраняет регистры в стек, popa достает их. Проверьте и напишите. Может есть еще какие-то проблемы.

Это сообщение отредактировал(а) azesmcar - 28.5.2009, 07:13
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0492 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.