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

Assembler для начинающих

Войти
Регистрация
Восстановить пароль
 
thewesterndoom
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 19
#1

Необычная( для меня) задачка - Assembler

08.11.2013, 15:32. Просмотров 350. Ответов 8
Метки нет (Все метки)

Задание
Написать программу на языке ассемблер для решения квадратного уравнения.
Но использовать assembler'ную вставку в си.
И в си использовать только ввод и вывод.
В ассемблерной вставке использовать только регистры там)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2013, 15:32
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Необычная( для меня) задачка (Assembler):

Непростая для меня задачка - PHP
Есть задача, нужно сделать запись в таблицу mysql из сравнения. Если A=A=1, т.е. будет в базу будет добавляться число 1, если...

Очень простая задачка (но не для меня) - C++
Привет, помогите плиз. У меня одностраничник, при заходе на него с ПК устройства, сайт почему автоматически перебрасывает вконец...

простая задачка , но сложная для меня, помогите плз) - Java SE
Ввести n строк с консоли. Упорядочить и вывести строки в порядке возрастания их длин, а также значения их длин. Понимаю что нужно...

Задачка со случайными числами. Кто сообразительней меня?) - MS Excel
Заполнить определенным значением указанное количество ячеек в указанном одномерном диапазоне с случайным распределением заполненых ячеек по...

Необычная БД для модели дороги - SQL Server
Здравствуйте. Создаю приложение, которое будет моделировать многополосное дорожное движение. В основе лежит клеточный автомат. Мне...

Необычная примочка для интернета - Сетевое оборудование
Ребята подскажите что это за устройство и для чего оно нужно? Нигде не нашел толковой инфы про него. Его русские выпускают?

8
Charles Kludge
Клюг
7641 / 3156 / 366
Регистрация: 03.05.2011
Сообщений: 8,382
08.11.2013, 16:04 #2
Ничего особенного. Код где?
0
thewesterndoom
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 19
08.11.2013, 16:50  [ТС] #3
В том и проблема, что как реализовать это не пойму. Вот и кода нет. С fsqrt разобрался вроде, но выдает ошибку когда хочу просто из регистра корень извлечь.

Assembler
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 <stdio.h>
#include <conio.h>
#include <iostream>
 
 
int main(int argc, char* argv[])
{ float a,b,c;
printf("vvedite a=");
scanf("%f",&a);
printf("\nvvedite b=");
scanf("%f",&b);
printf("\nvvedite c=");
scanf("%f",&c);
 
_asm
{  mov ebx,a;
 
 
    fld ebx;
    fsqrt;
    fst ebx;
 
    mov a, ebx;
}
printf("%f", a);
getch();
    return 0;
}
0
Charles Kludge
Клюг
7641 / 3156 / 366
Регистрация: 03.05.2011
Сообщений: 8,382
08.11.2013, 17:01 #4
Всё гораздо проще:
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
//#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
//#include <iostream>
 
 
int main(int argc, char* argv[])
{ float a,b,c;
printf("vvedite a=");
scanf("%f",&a);
printf("\nvvedite b=");
scanf("%f",&b);
printf("\nvvedite c=");
scanf("%f",&c);
 
_asm
{
fld a
fsqrt
fstp a
}
printf("%f", a);
getch();
return 0;
}
0
thewesterndoom
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 19
08.11.2013, 17:48  [ТС] #5
Ну так и я писал, а именно чтобы корень из регистра?
0
Mikl___
Автор FAQ
11329 / 5872 / 524
Регистрация: 11.11.2010
Сообщений: 10,913
08.11.2013, 17:54 #6
thewesterndoom,
в регистрах микропроцессор оперирует целочисленными значениями - FPU работает с вещественными - разницу не улавливаешь? Но если охота работать с регистрами, тогда примерно так
Assembler
1
2
3
4
5
6
    mov eax,250000
     push eax
     fild dword ptr [esp]
     fsqrt
     fistp dword ptr [esp]
     pop eax; eax=500
1
thewesterndoom
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 19
08.11.2013, 21:36  [ТС] #7
ОООоооо вот!!! СПАСИБО!!

Добавлено через 3 часа 23 минуты
C++ (Qt)
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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
 
 
int main(int argc, char* argv[])
{ float a,b,c;
printf("vvedite a=");
scanf("%f",&a);
 
 
_asm
{  mov eax, a;
   push eax;
     fild dword ptr [esp]
     fsqrt
     fistp dword ptr [esp]
     pop eax; 
 
 
 
mov a, eax;
}
printf("%f", a);
getch();
    return 0;
}
вроде все сделал но выводит 0 прилюбом значении((
0
Somebody
2799 / 1610 / 150
Регистрация: 03.12.2007
Сообщений: 4,210
Завершенные тесты: 3
08.11.2013, 21:48 #8
fild/fistp - они для целых, для вещественных - fld/fstp. Только непонятно, зачем это всё прогонять через eax и стек.
1
thewesterndoom
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 19
08.11.2013, 21:52  [ТС] #9
Все заработало. Спасибо
0
08.11.2013, 21:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2013, 21:52
Привет! Вот еще темы с ответами:

У меня Ноутбук на Win 8.1 и меня раздражают f1,2,3 и т.д, можно ли их включить для игрового режима - Ноутбуки
У меня эфки назначены как клавиши для повышения яркости включения автономного режима. Но можно ли как нибудь их отключать во время игры что...

Нужна необычная формула для постановки задачи программисту - Математика
Нужно сформулировать на математическом языке задачу для программиста, чтобы было что ему воплощать в программу. Идея: разработать...

Интересная задачка с битовыми операторами, флагами, переменными, или "до меня не дошло письмо из штаба" - C++
Дорогие форумчане! Недавно я занялся исправлять пробелы в знании C++ одной замечательной книжкой, которую мне помогли найти! Книжка...

Need for Speed Most Wanted 2. Для меня - классная. А для других - провал. Почему? - Симуляторы
Need for Speed Most Wanted 2. Для меня - классная. А для других - провал. Почему? Я считаю эту серию самым революционным и успешным игрой...


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

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

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