![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() ![]() |
![]() |
perfect |
![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 2 Пол: Женский Реальное имя: Ольга Репутация: ![]() ![]() ![]() |
Тема работы - изучение прикладной архитектуры процессора Intel 8086 -80486, команд обработки целых двоичных чисел в целочисленном устройстве процессора Intel 80486, вещественных и целых десятичных в устройстве FPU
3. Разрабатываемая программа должна содержать следуюцие разделы: · Ввод значения Х в символьном виде в десятичном представлении посредством клавиатуры; · Преобразование значения Х в выбранное внутреннее представление. · Вычисление заданного выражения y = f (X) с сохранением результата вычисления в памяти. · Преобразование результата вычисления в десятичное представление. · Преобразование результата вычисления в символьное десятичное представление · Вывод результата вычисления в символьном вид.на экран. 1. Все цифровые данные определить в программе как соответствующие константы. 2. Вычислить Y – вычисления произвести, используя 16 или 32 – битную арифметику в зависимости от требуемого диапазона представления данных 3. Вывести значения Y на экран монитора в шестнадцатеричном представлении. 4. Преобразовать Y в десятичное представление и результат вывести на экран монитора. Примечание. 1. Задача решается с использованием шелых и вещественных чисел. Тип чисел выбирается студентом сомостоятельно. 2. Рекомендуется первоначально решить задачу с определением переменной X как константы в разделе сегмента данных и после правильного решнения вычислительной части задания перейти к решению задачи ввода переменной X и вывода результата решений Y. Выражение для вычисления 1)y=2(x-1)^3 2)y=(x^2+2x+2)e^(-x) |
FreeMan |
![]()
Сообщение
#2
|
- ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: ![]() ![]() ![]() |
Проблема с вводом числа
тут есть ввод, фпу, вывод... -------------------- бб
|
FreeMan |
![]()
Сообщение
#3
|
- ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата как вычислить e^x ? 2^(log2e*x) команды фпу: FLDL2E - загрузить log2e, F2XM1 - (получить 2 в степени st(0)) -1 -------------------- бб
|
perfect |
![]() ![]()
Сообщение
#4
|
![]() Группа: Пользователи Сообщений: 2 Пол: Женский Реальное имя: Ольга Репутация: ![]() ![]() ![]() |
спасибо Олежкин!!!!!!
![]() ![]() FreeMan и тебе спасибо. только я ничего не понимаю в ассемблере ![]() Сообщение отредактировано: perfect - 18.12.2005 1:56 |
Altair |
![]()
Сообщение
#5
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
на самом деле нифига..
Цитата 2^(log2e*x) команды фпу: FLDL2E - загрузить log2e, F2XM1 - (получить 2 в степени st(0)) -1 не выходит так.. вот код FINIT нифига не поучается считаь так... примеры из интерена вооще не работают.. напримре отсюда: http://club.shelek.com/viewart.php?id=101 ;########### MYEXP ###########он не компилируется вообще... что можно скзаать.... ужас.... нигде не найти описаний, документации.... примеров... вот случай когда еще раз поклонишься дедушке ВИрту, которые нас избавил от подобного ..... кхм.. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Altair |
![]()
Сообщение
#6
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
вот что я пытался сделать
![]() при запуске программы вводим 2-х значное число (например 02) и жмем вволд.. результат - у меня получается только 2^х.. вот почему.. e^x = 2^ (xlog2e) НО! когда мы вычисляем 2^ ... асму требуется что бы степень ьыла от -1 до 1... а если например 2^14 ? я решил сделать так.. 2^ (x*log2e) = 2^x * 2^log2e 2^x вычилсяем командой scale. а 2^log2e = 2* 2*(log2e-1) тогда вролде бы долно работать но получаю единицу, и в результате протсо вычисление 2^x вместо e^x ![]() -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
FreeMan |
![]()
Сообщение
#7
|
- ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата 2^ (x*log2e) = 2^x * 2^log2e 2^x*2^log2e=2^(x+log2e) команда fscale работает с любыми показателями. она умножает st(0) на 2^st(1), но перед этим округляет st(1) до целого в сторону 0. теперь смотри. есть команда F2XM1. она работает только с числами от -1 до +1, то есть подходит для работы с дробной частью 2^(дробь)=2^(целая часть+дробная часть)=2^(целая часть)*2^(дробная часть). число x*log2e = дробное число. а значит нахождение e^x сводится к разбиению дробного числа на целое и остаток и вычисление 2 в соответствующих степенях соответствующими командами Цитата он не компилируется вообще... там есть ошибки. дома посмотрю где эти ошибки и исправлю -------------------- бб
|
![]() ![]() |
![]() |
Текстовая версия | 14.07.2025 6:21 |