Вопрос № 34925: Как реализовать математические выражения (корень, логорифм и т.п)
Заранее спасибо!...Вопрос № 34964: Здравствуйте Уважаемые Эксперты!Ответьте мне пожалуйста на один вопрос. Почему символ невиден на экране? Приложение запускаю изTotal Commander . Где эта рожица?...Вопрос № 34967: Здравствуйте ребята.
Вот не могу "въехать" в строку mov es:[di],ax. Калашников писал, что по адресу видеобуфера
мы заносим символ и атрибут. Di - это указатель или смещение? И почему di?
Почему именно так заносим? Это станд...
Вопрос № 34.925
Как реализовать математические выражения (корень, логорифм и т.п)
Заранее спасибо!
Отправлен: 07.02.2006, 12:32
Вопрос задал: Gwest (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Евгений Иванов
Здравствуйте, Gwest!
Используй математический сопроцессор.
Там большинство команд напрямую реализованы, остальные создавай сам с помощью математических формул.
Удачи!
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 07.02.2006, 13:12
Отвечает: Sager
Здравствуйте, Gwest!
Открой учебник высшей математики и там ищи формулы и ряды Тейлора для элементарных функций. Напр., для sinx = x - (x^3)/3! + (x^5)/5! - ... = сумма(к от 1 до бесконечности) (((-1)^k)*x^(2*k+1))/(2*k+1)! - чем больше к, тем больше точность вычислений. Функция е^x = сумма (x^k)/k!, она есть обратная к lnx .
Если не ошибаюсь, то lnx= сумма(((-1)^k+1) *( x^k)/k!) ну и так далее. Вообще для каждой непрерывной функции y=f(x) (а всякая элементарная функция непрерывна), а также если она имеет производную любого порядка, можно записать разложение по Тейлору вычислить ее т.о.
Ответ отправил: Sager (статус: Практикант)
Отправлен: 07.02.2006, 13:45 Оценка за ответ: 5
Вопрос № 34.964
Здравствуйте Уважаемые Эксперты!Ответьте мне пожалуйста на один вопрос. Почему символ невиден на экране? Приложение запускаю изTotal Commander . Где эта рожица?
Приложение:
Отправлен: 07.02.2006, 19:32
Вопрос задал: OLGA (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Sager
Здравствуйте, OLGA!
Поставь вначале программы след строки:
mov ax,3
int 10h
В winxp нужно устанавливать видеорежим, иначе ничего не увидишь....
Ответ отправил: Sager (статус: Практикант)
Отправлен: 07.02.2006, 20:34
Вопрос № 34.967
Здравствуйте ребята.
Вот не могу "въехать" в строку mov es:[di],ax. Калашников писал, что по адресу видеобуфера
мы заносим символ и атрибут. Di - это указатель или смещение? И почему di?
Почему именно так заносим? Это стандарт (ГОСТ)?
Какие еще есть подобные строки (или буферы)? Если можно пример с объяснением.
Если экран надо заполнить символами весь, то почему cx,2000. Мониторы то разные по размеру. В чем суть?
Спасибо за пояснения.
Отправлен: 07.02.2006, 20:18
Вопрос задал: Baim (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Sager
Здравствуйте, Baim!
В ассемблере указатель и смещение это можно сказать одно и тоже. И необязательно использовать di и es, главное ведь что в них лежит, можешь вместо es и di использовать, например, ds и bx. А так заносим потому что таков синтаксис ассемблера. Еще дальше есть 1,2..7 видеостраницы, есть еще графические страницы, где графика выводится.(это 0a000h).
mov cx,2000, потому что по умолчанию установлен 3 режим, 25 строк на 80 столбцов. 25*80=2000 . И это на всех мониторах так будет, режим-то один у всех установлен одинаковый. Чтобы сменить его, вначале программы введи следующее:
mov ax,0
int 10h
(40x25)
mov ax,3
int 10h
(80x25)
Ответ отправил: Sager (статус: Практикант)
Отправлен: 07.02.2006, 20:50 Оценка за ответ: 5
Отвечает: Евгений Иванов
Здравствуйте, Baim!
DI - в нём будет смещение относительно начало сегмента ES.
Понятие "указатель" из Си может примениться и здесь, но советую использовать понятие адрес.
Заносить можно не только так, но и по любому другому регистру, с которым возможна адресация. Это SI, BX, BP, EAX, EBX,ECX,EDX,ESI,EDI,ESP,EBP.
Почему 2000? А потому что 3 видеорежим по сути стал стандартом с его 80 на 25 символов. А это 4 Кб на буфер.
Удачи!
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 07.02.2006, 21:51