Форум программистов, компьютерный форум, киберфорум
Assembler: математика, вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 2
TASM

Вывести на экран график функции

14.06.2013, 17:58. Показов 2318. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот код программы, которая запускается в tasm и выводит на экран график функции y=tg(x)-(1/x).
Необходимо переделать её для функции y=ln(x+5)/|x-3|.
Никак не могу разобраться с тем как работает сопроцессор там есть несколько команд для логарифма:


Натуральный логарифм: loge(x) = loge(2) * log2(x) = FYL2X(loge(2), x) =
= FYL2X(FLDLN2, x)

Помогите пожалуйста разобраться с этим.

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
;прога выводит график y=tg(x)-(1/x) 
version m510 ;делаем доступными макрометки @B и @F
include pixels.inc ;содержит макросы вывода точки, осей и символа
N=32000 ;кол-во итераций цикла
.model small
.stack 100h
.data
zero    dd 0.001    ;Порог нечувствительности при приближении к нулю, поскольку присутствует деление на x
gx dd 203.0 ;масштабные коэффициенты
cycleX dd -1.57 ;изменяющаяся переменная 
delta dd 0.0001;величина изменения
xdiv2 dd 320.0 ;середина по X и Y
ydiv2 dd 240.0
xr dw 0 ;координаты выводимой точки
yr dw 0
func db 'y = tg(x)-1/x'
lenfunc=$-func
 
.code
.486
start:
mov ax,@DATA    ;настраиваем сегментный регистр
mov ds,ax
mov cx,N ;количество итераций цикла - 30000 ((15+15)/0.001)
;------------------------------------------------------------------
mov ah,0h ;инициализация графического режима 640х480
mov al,12h
int 10h
;-----------------------------------------------------------------
pusha ;вывод названия ф-ции
mov cx,lenfunc
mov bx,0
l3:
 mov al,func[bx]
 inc bx
 OutCharG bl,02h,03h,al
loop l3
popa
;-----------------------------------------------------------------
AxleX ;рисуем оси
AxleY
    finit ;инициализация сопроцессора
 
l1:
    fld cycleX      ;изменяющаяся переменная х
    fabs            ;|x|
    fcomp zero      ;|x| сравнить с порогом нуля
    fstsw   ax      ;записать флаги сопроцессора в ах
    sahf            ;перенести их в флаги процессора
    jb skip         ;если очередной х близок к 0, не расчитывать эту точку
    fld cycleX      ;х        
    fptan           ;частичный тангенс x
    fdiv            ;tg(x)
    fld1            ;1
    fdiv cycleX     ;1/x
    fsub            ;tg(x)-1/x
    fchs            ;сменить знак 
    fadd ydiv2      ;перевернуть по y, поскольку экранная ось y направлена вниз
    fistp yr        ;сохранить расчитанный y
    fld cycleX      ;x
    fmul gx         ;умножить на коэффициент по х
    fadd xdiv2      ;переместить относительно середины экрана
    fistp xr        ;сохранить расчитанный х
    
 PutPixel xr,yr,0ah ;выводим точку зеленым цветом
skip:
    fld cycleX      
    fadd delta      ;x+delta
    fstp cycleX     ;x=x+delta
loop l1 ;цикл по cx
;--------------------------------------------------------------------
mov ah,1h ;ожидание нажатия клавиши 
int 21h
;--------------------------------------------------------------------
mov ah,0h ;перевод обратно в TextMode
mov al,03h
int 10h
;--------------------------------------------------------------------
exit:
mov ax,4C00h ;стандартный выход
int 21h
END start
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.06.2013, 17:58
Ответы с готовыми решениями:

Вывести на экран монитора и напечатать таблицу значений аргумента и функции, а также график функции средствами MATHCAD
Вывести на экран монитора и напечатать таблицу значений аргумента и функции, а также график функции средствами MATHCAD ...

Вывести на экран монитора и напечатать таблицу значений аргумента и функции, а также график функции средствами Exel
Вывести на экран монитора и напечатать таблицу значений аргумента и функции, а также график функции средствами MATHCAD диапазон изменения...

Вывести на экран монитора и напечатать таблицу значений аргумента и функции, а также график функции средствами MATHCAD
Вывести на экран монитора и напечатать таблицу значений аргумента и функции, а также график функции средствами MATHCAD диапазон...

1
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 2
14.06.2013, 18:36  [ТС]
Да, вот ещё что, есть уже готовый вариант этой функции в другой программе, она во вложенном файле, если кто-нибудь сможет совместить функцию из этой программы с исходной, буду очень признателен, надо срочно, поэтому согласен даже если кто-то сделает за финансовое вознаграждение.
Вложения
Тип файла: txt программа.txt (8.1 Кб, 24 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.06.2013, 18:36
Помогаю со студенческими работами здесь

Вывести на экран монитора и напечатать таблицу значений аргумента и функции, а также график функции средствами MATHCAD
Вывести на экран монитора и напечатать таблицу значений аргумента и функции, а также график функции средствами MATHCAD диапазон изменения...

Вывести на экран график функции
Номогите решить в паскале! Вывести на экран график функции, приведенной. Отобразить координатную плоскость. Вывод графика производить...

Вывести на экран точечный график функции
Написать программу, которая выводит на экран точечный график функции у=1.2 в степени х Диапазон измерения аргумента от -6 до 6, шаг...

Вывести на экран точечный график функции
Написать программу, которая выводит на экран точечный график функции у =ctg7 x. Диапазон изменения аргумента — от -3 до 6, шаг аргумента —...

Вывести на экран график любой функции
Написать программу, способную выводить на экран график любой функции, представляющей собой многочлен не выше 5-ой степени.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru