0 / 0 / 0
Регистрация: 25.09.2014
Сообщений: 4

Вычислить значение выражения

04.05.2015, 14:20. Показов 1895. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос!
Нужно найти значение выражения z=(sqrt(|x|)-y)^2
Вот кусочек кода:
Assembler
1
2
3
4
5
6
7
8
finit   
    fild    x   ;st(0)=x
    fabs        ;st(0)=|x|
    fsqrt          ; st(0)=sqrt|x|
    fsub    y   ;st(0)=sqrt|x|-y 
    fst st(1)  ;st(1)=st(0)
    fmul          ;st(0)=(sqrt|x|-y)^2
    fistp   z
При попытке вывести на экран Z, выводится первоначальное значение st(0) (значение X).
Можете указать на ошибку? Хочу в Z занести именно значение выражения.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2015, 14:20
Ответы с готовыми решениями:

Вычислить значение выражения
y=(x^2+a/b)/3

Вычислить значение выражения
Здравствуйте. Уравнение y = (12 + 3/8+6)*3+12. Ошибки: yyyy.asm(4) : invalid character in file yyyy.asm(5) : must be in segment...

Вычислить значение выражения
(a*x^2+b*x+c)div(d*x+e) , Неправильно считает,где ошибся не пойму. Подскажите плиз. .model small .data ten dw 10 a dw ? b...

6
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
04.05.2015, 16:00
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
;FASM
    org 100h
    finit   
        fild    [x] ;st(0)=x
        fabs        ;st(0)=|x|
        fsqrt       ; st(0)=sqrt|x|
        fsub    [y] ;st(0)=sqrt|x|-y 
    fst st1 ;st(1)=st(0)
    fmulp       ;st(0)=(sqrt|x|-y)^2
    fistp   [z]
    ret
x   dw  4
y   dq  3.0
z   dd  ?
0
0 / 0 / 0
Регистрация: 25.09.2014
Сообщений: 4
04.05.2015, 16:09  [ТС]
У меня MASM, с FASM никогда не работала
0
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
04.05.2015, 16:16
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
;MASM
.model  tiny
.data
x   dw  4
y   dq  3.0
z   dd  ?
.code
    org 100h
start:  finit   
        fild    [x] ;st(0)=x
        fabs        ;st(0)=|x|
        fsqrt       ; st(0)=sqrt|x|
        fsub    [y] ;st(0)=sqrt|x|-y 
    fst st(1)   ;st(1)=st(0)
    fmulp   st(1),st(0) ;st(0)=(sqrt|x|-y)^2
    fistp   [z]
    ret
    end start
0
0 / 0 / 0
Регистрация: 25.09.2014
Сообщений: 4
04.05.2015, 16:27  [ТС]
Окей, а как тогда вывести на экран?
Регистр EDX применить невозможно, => нельзя вывести на экран значение Z.

Простите, но правда не могу сориентироваться именно с выводом значения на консоль.

Добавлено через 2 минуты
Вот полный код моей программы:

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
.586p
masm
MODEL   use16 SMALL
.STACK  100h
.DATA   
x   dd  9
y   dd  1
z   dd  0
.CODE
main    proc                            ; 10
    MOV AX,@DATA
    MOV DS,AX
    
 
    finit   ;приведение сопроцессора в начальное состояние
    fld x   ;st(0)=x
    fabs        ;st(0)=|x|
    fsqrt
    fsub    y   ;st(0)=sqrt|x|-y            
    fst st(1)                       ;20
    fmul
    fst z
 
    MOV EDX, z
    ADD EDX,30303030h
    MOV AH, 02
    INT 21h
    
 
exit:   
    MOV AX,4c00h
    INT 21h
main    endp
END main
Выводит 9, хотя должен, как мне кажется, 4.
0
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
04.05.2015, 16:39
Вывод результата вычислений из регистра ST(0) сопроцессора, ДОСъ
https://www.cyberforum.ru/post4379621.html
1
 Аватар для Ethereal
6772 / 2740 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
04.05.2015, 22:35
Простенькие примеры вывода чисел на ассемблере :
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
;TASM, 16-чная печать слова на стандартный вывод
    Model   Tiny
    .Code
    Org 100h
Start:
    mov bx, 5A7Eh   ;Число, которое будем выводить
                ; оно в BX сохранится
    mov cx, 4       ;Будет 4 цифры
@:  push    cx
    mov cl, 4
    rol bx, cl
    mov al, 0Fh
    and al, bl      ;Выделили тетраду
    cmp al, 10      ;Известный трюк
    sbb al, 69h     ;преобразования AL
    das         ;0..F->'0'..'F'
    mov dl, al
    mov ah, 2
    int 21h     ;Напечатать символ в DL
    pop cx
    loop    @
 
    ret
    End Start
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
;TASM, Десятичная печать беззнакового слова на стандартный вывод
    Model   Tiny
    .Code
    Org 100h
Start:
    mov ax, 59731   ;Число, которое будем выводить
 
    xor cx, cx      ;Будем считать получающиеся цифры
    mov bx, 10
@:  xor dx, dx
    div bx
    add dl, '0'
    push    dx
    inc cx
    test    ax, ax
    jnz @
@@: pop dx
    mov ah, 2
    int 21h     ;Напечатать символ в DL
    loop    @@
 
    ret
    End Start
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.05.2015, 22:35
Помогаю со студенческими работами здесь

Вычислить значение выражения
Нужно написать программу на языке Ассемблер, по этой задаче: Вычислить -2с-23d / (a/4)-1; a,c,d ввести с клавиатуры ...

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

Вычислить значение выражения
А, В, С, Х- целые знаковые числа размером в машинное слово Х= 5 (А - В) - 12С + 5 И что бы результат выводила на экран если можно ...

Вычислить значение выражения
x=(d/a)^3 - (a^2b)^3 + 19690 Добавлено через 25 минут a=-5 b= 3 d=-3

Вычислить значение выражения
Рассчитать значение формулы F=A+B-C/2+D Операнд А : значение 13 адрес 91 Операнд В : значение 159 адрес 46635 Операнд С : значение 39...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Хак домофона или как открыть дверь по номеру
yariko 25.06.2025
Забыли дома ключ. Не проблема. Можно открыть дверь домофона, просто позвонив на свой номер квартиры. Идея состоит в следующем. Внутрь трубки абонента встраивается контроллер, который по звонку сам. . .
Как украсить новогоднюю елку с Q# и Qiskit
EggHead 24.06.2025
Что может быть необычнее, чем применить законы квантовой механики для украшения новогодней елки? Пока другие развешивают обычные гирлянды, я решил объединить свою страсть к квантовым вычислениям с. . .
Системы нулевого доверия на C#
UnmanagedCoder 24.06.2025
Традиционная архитектура безопасности работает по принципу средневекового замка: создаём высокие стены вокруг корпоративной сети, укрепляем ворота межсетевыми экранами и системами обнаружения. . .
Снова не мой путь. Циклическое среднее, я обеими руками за проверку условия, в ракурсе данной задачи - циклическое среднее в топку.
Hrethgir 24.06.2025
Привет. Такой вопрос - нужно выводить среднее математическое между двумя направлениями, интервал значений которых может лежать в диапазоне одного оборота по кругу. Проблема заключается в том, что. . .
Деплой Flask приложения
py-thonny 23.06.2025
За годы работы с Flask я натыкался на одни и те же грабли достаточно часто, чтобы наконец научится их обходить. И сегодня хочу поделится опытом, который сбережет вам немало нервных клеток. Начнем с. . .
WebAssembly и контейнеры в .NET Aspire для оркестрации распределенных архитектур
ArchitectMsa 23.06.2025
Я наблюдаю, как WebAssembly (или просто WASM) постепенно выходит за рамки своего первоначального предназначения — исполнения кода на стороне браузера. Теперь эта технология проникает в серверную. . .
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru