|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.10.2016, 19:05 | #1 |
Регистрация: 11.10.2016
Сообщений: 5
|
Сделал кое-какую программу (вычислить значение арифметического выражения) и она не работает
Выбивает пустую строку, помогите сделать нормальную программу)
Код:
Последний раз редактировалось Alex11223; 11.10.2016 в 19:12. |
11.10.2016, 22:39 | #2 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
для начала, Вы забываете, что когда нужно сохранить результат вычислений, то нужно указывать сначала КУДА, а потом откуда.
например, в строке 29 вместо: Цитата:
Код:
вот, ещё, буквально сразу же после этого вы хотите вычислить 2* x^2 Цитата:
Ассемблер не терпит неточностей... Последний раз редактировалось Serge_Bliznykov; 11.10.2016 в 22:43. |
||
11.10.2016, 22:56 | #3 |
Регистрация: 11.10.2016
Сообщений: 5
|
Спасибо, я могу попросить вас исправить ошибки ?
|
11.10.2016, 23:01 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ну, допустим, вычисление можно написать так:
Код:
в результате выполнения данного кода в переменной ax - частное (целое число), в dx - остаток (тоже целое число). что с этим дальше делать? |
11.10.2016, 23:13 | #5 |
Регистрация: 11.10.2016
Сообщений: 5
|
Ну суть в том что бы сделать программу по формуле и что бы результат вывелся на экран
|
11.10.2016, 23:20 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
в результате вычисления данной формулы получается ВЕЩЕСТВЕННОЕ (дробное число). я могу ошибаться, но я считал, что для того, чтобы работать с такими числами, нужно использовать математический сопроцессор (FPU). У него собственные ассемблерные команды. Вы уверены, что Вам именно это надо? p.s. если честно, я никогда не исользовал FPU, поэтому буду точно так же, как и Вы гуглить и пробовать разобраться. Но мне, в отличие от Вас, можно этим и не заниматься... |
|
11.10.2016, 23:27 | #7 |
Регистрация: 11.10.2016
Сообщений: 5
|
Именно это и нужно. Ладно, все равно спасибо
|
11.10.2016, 23:51 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
гляньте пример тут - Вывод результата вычислений из регистра ST(0) сопроцессора, ДОСъ
правда он под FASM и я в нём ровным счётом ничегошеньки не понимаю, но, вдруг это именно то, что Вы ищете! Успехов в вашем нелёгком деле! |
12.10.2016, 06:04 | #9 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
Можно просто вывести оба регистра на экран. Тогда и FPU не нужен:
Код:
Нашедшего выход - затаптывают первым..
|
12.10.2016, 09:08 | #10 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 325
|
R71MT, остаток от деления не есть дробная часть. 30\20 = 1.5, а не 1.10.
Когда-то писал программу, выводящую дроби без FPU. http://www.cyberforum.ru/assembler/t...ml#post3103421 PS проверочка из hex2asc исчезла, мда... |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дана строка, арифметические выражения вида A x B. Вычислить значение выражения | Un1q | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 09.12.2013 14:47 |
составить программу вычисления функции - арифметического выражения | Татьяна1234567 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 05.10.2013 15:41 |
Используя рекурсию, вычислить результат арифметического выражения??? | Nataly026 | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 09.03.2012 21:36 |
Найти значение арифметического выражения (напишите листинг программы на ассемблере) | POMOGIteMNE | Помощь студентам | 2 | 02.12.2011 17:37 |
Как вычслить на Ассемблере значение арифметического выражения | Ветас | Помощь студентам | 5 | 18.10.2010 18:06 |