|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.04.2011, 08:44 | #1 | |
Форумчанин
Регистрация: 22.02.2011
Сообщений: 106
|
Ассемблеровская всавка!
Цитата:
|
|
14.04.2011, 09:00 | #2 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
Ислам
зависит от размера переменных (byte, word, dword и т.д.) для байта Код:
|
14.04.2011, 09:22 | #3 | |
Форумчанин
Регистрация: 22.02.2011
Сообщений: 106
|
Нам задали на АСМ'е написать...
Цитата:
Последний раз редактировалось Ислам; 14.04.2011 в 09:28. |
|
14.04.2011, 09:43 | #4 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
Ислам
и где в сообщении #1 говорится про вещественные числа? конструкции fdiv 2 не может быть по определению -- FPU работает только с числами находящимися в переменных (x1, x2 и т.д.), либо в стеке FPU (st(0), st(1), ..., st(7)) |
14.04.2011, 09:48 | #5 |
Форумчанин
Регистрация: 22.02.2011
Сообщений: 106
|
А как мне записать x/2 , например!?
Про вещ-ные извините, забыл упомянуть( |
14.04.2011, 09:48 | #6 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
Код:
Последний раз редактировалось Mikl___; 14.04.2011 в 09:55. |
14.04.2011, 09:58 | #7 | |
Форумчанин
Регистрация: 22.02.2011
Сообщений: 106
|
Компилятор выдает ошибки
Цитата:
|
|
14.04.2011, 10:01 | #8 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
Ислам
Ты реально веришь что я экстрасенс? Какой компилятор? На какую строку ссылается? Там должно быть описание ошибки -- читай учебник или лезь в ГУГЛ |
14.04.2011, 10:05 | #9 | |
Форумчанин
Регистрация: 22.02.2011
Сообщений: 106
|
#include<stdio.h>
#include<conio.h> #include<math.h> #include<locale.h> int main() { setlocale(LC_ALL,"Russian"); float x1,y1,x2,y2,x3,y3; float x4,y4,x5,y5; int lam=2, p=2, o=1; float v,s; printf("Введите координаты точек треугольника [x1;y1] [x2;y2] [x3;y3]\n"); scanf("%f%f%f%f%f%f",&x1,&y1,&x2,&y 2,&x3,&y3); x4=(x2+x3)/2; y4=(y2+y3)/2; x5=(x1+x4*lam)/(lam+1); y5=(y1+y4*lam)/(lam+1); printf("\n >>>На СИ<<<\n [%f;%f]",x5,y5); _asm { finit Цитата:
fstp q fld q fdiv p fstp z //x4=(x2+x3)/2 fld y2 fadd y3 fstp w fld w fdiv p fstp c //y4=(y2+y3)/2 fld lam fmul z fiadd x1 fstp m //(x1+x4*lam) fld lam fadd o fst n // lam+1 fld m fdiv n fstp v //x5=(x1+x4*lam)/(lam+1) fld lam fmul y4 fstp a fld a fadd y1 fstp b //y1+y4*lam fld b fdiv n fstp s //y5=(y1+y4*lam)/(lam+1) } printf(">>>На ассемблере [%f;%f]",v,s); getch(); return 0; } Вот то, что написал я! Ругается на выделенное... Компилятор Visual Studio 2010... |
|
14.04.2011, 10:11 | #10 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
Ислам
скорее всего он ругается на fld lam так как int lam=2, p=2, o=1 то должно быть fild lam и p опиши как float p=2.0 и fiadd x1 замени на fadd x1 команды fidiv и fdiv fild и fld fiadd и fadd разные, fidiv, fild, fiadd предназначены для работы с целыми, а fdiv, fld, fadd с вещественными Последний раз редактировалось Mikl___; 14.04.2011 в 10:16. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ассемблеровская вставка в СИ | Ислам | Помощь студентам | 2 | 24.02.2011 10:02 |
Вставка ассемблеровская в си! | Ислам | Помощь студентам | 2 | 22.02.2011 16:31 |
Всавка NULL - проблема | Yuran | БД в Delphi | 3 | 22.09.2010 18:20 |
Всавка записей в БД Классного журнала | artemavd | БД в Delphi | 6 | 20.08.2009 15:33 |
Всавка из TImage в Excel или Word | nevo | Компоненты Delphi | 6 | 09.10.2008 12:01 |