Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Настя22
1 / 1 / 0
Регистрация: 15.01.2011
Сообщений: 3
1

Вычисление значений функций в подпрограммах

17.01.2011, 18:42. Просмотров 944. Ответов 1
Метки нет (Все метки)

программа на языке ассемблера для вычисления значения y. Значения y1 и y2 необходимо вычислять в подпрограммах; параметры в подпрограммы передавать через стек; результат также возвращать через стек. и 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
83
84
85
86
87
88
89
90
.model small
.stack
.data
x db 6
a db 12
c db 3
y1 db 0
y2 db 0
y db 0
 
.code
Y_1 proc ; для вычисления у1
 
push bp
mov bp, sp
 
 
mov al, [bp+4]
div c
mov bl, 2
cmp al, bl
je m2
cmp al, bl
jne br2
 
m2:
mov bl, [bp+6]
  mul al
  mov y1, bl
  pop bp
ret
 
br2:
  mov bl, 9
  mov y1, bl
  pop bp
ret   
 
Y_1 endp        
 
Y_2 proc ; для вычисления у2
 
push bp
mov bp, sp
 
mov al, [bp+4]
mov bl, [bp+6]
cmp al, [bp+6]
jg ma
 
cmp al, [bp+6]
jng bra
 
ma:
  sub al, bl 
  mov y2, al        
  pop bp
ret  
 
bra:
add bl,2
  mov y2, al
  pop bp
ret
 
 
Y_2 endp 
 
begin:
mov ax, @data
mov ds, ax
xor ax,ax
    
 
mov al, x
push ax
mov al, a
push ax
 
call Y_1   ; вызов подпрограммы 
call Y_2
mov al, y2
mov bl, y1 ; вычисление у1*у2
mul al
mov y, al
 
 
mov ah, 4ch
int 21h
end begin
0
Миниатюры
Вычисление значений функций в подпрограммах  
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2011, 18:42
Ответы с готовыми решениями:

Вычисление значений тригонометрических функций
Напишите программу для вычитания тригонометрической функции угла от 0 до 360, в зависимости от кода...

Вычисление значений
Вычислить =!

Вычисление значений функций
задано х=0.34*21, у=0.18*21,z=-1.72*21 разработать програму для вичисление значений функций...

Вычисление значений функций
не могу решить помоги решить полностью. Не смог правильно вставить извините....

Вычисление значений функций
дана функция y=f(x,a).Для каждого x найти сумму y,кратных числу В.x1(больше или равно)х(больше или...

1
Vadimych
635 / 478 / 12
Регистрация: 10.01.2011
Сообщений: 1,047
19.01.2011, 14:38 2
Может быть, так получится?
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
ma:
sub al, bl
mov y2, al
jmp metka
 
bra:
add bl,2
mov y2, al
 
metka:
pop bp
ret
Добавлено через 11 секунд
Может быть, так получится?
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
ma:
sub al, bl
mov y2, al
jmp metka
 
bra:
add bl,2
mov y2, al
 
metka:
pop bp
ret
Добавлено через 1 час 18 минут
Прошу прощения, два раза сморозил ересь. Спешка. В стек первым кладётся значение х, значит это в процедуре будет [bp+6]. Второе значение а, значит - [bp+4]. А у Вас mov al, [bp+4];х

Добавлено через 57 минут
И ещё одно:
mov al, y2
mov bl, y1 ; вычисление у1*у2
mul al ;здесь значение al возводится в квадрат, mul bl надо
mov y, al
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2011, 14:38

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

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

Вычисление значений функций.
Доброго времени суток.Мне нужно найти значение функции ,сумму и |Y(x)–S(x)|.При том что Х...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.