Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/58: Рейтинг темы: голосов - 58, средняя оценка - 4.71
6 / 6 / 0
Регистрация: 31.12.2009
Сообщений: 132

Возврат значения функции

19.12.2010, 00:23. Показов 11835. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Проблемма..... есть ф-я в паскале , как мне возвратить значение функции через asm

mov CompileTest,ax - материться на это

сама ф-я:

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
Function CompileTest(InpVar: integer): integer;
BEGIN
Asm
mov ax,i
mov bx,ax
sub ax,bx
sub ax,bx
add ax,10
mov const0,ax
 
mov ax,const0
and ax,kuh
mov const1,ax
 
sub bx,bx
cmp const1, bx
JL @elsemitka0
 
mov ax,i
sub ax,3
mov const2,ax
 
mov ax,k
add ax,rh
mov const3,ax
 
mov ax,const2
or ax,const3
mov const4,ax
 
sub bx,bx
cmp const4, bx
JL @elsemitka1
 
mov ax,j
add ax,1
mov const5,ax
 
mov j,ax
 
@elsemitka1:
mov ax,j
add ax,2
mov const6,ax
 
mov j,ax
 
mov CompileTest,ax 
END;
END;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.12.2010, 00:23
Ответы с готовыми решениями:

Ввод с клавиатуры значения=>работа функции=>вывод значения на экран
Есть функция факториала: SECTION .start global _start _start: mov eax, 10; mov ecx, eax; mov ebx, 1; for_loop: imul ebx,...

ASM (Возврат указателя из функции)
1)Предисловие Функция, написанная на языке Ассемблера вызывается из кода, написанного на С. 1)Вопрос: Через стек в функцию...

Возврат значения функции
Что такое возврат значения функции? я уже всю голову изломал, что и куда возвращается? в гугле нашёл мол возвращается результат (куда? в...

4
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
19.12.2010, 00:50

Не по теме:

У вас уже больше сотни сообщений, неужели до сих пор код не научились выделять ?


Результат функции возвращается в регистре ax(eax)
1
6 / 6 / 0
Регистрация: 31.12.2009
Сообщений: 132
19.12.2010, 06:57  [ТС]
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
program  valera;
var
InpVar: integer;
i: integer;
kuh: integer;
k: integer;
rh: integer;
j: integer;
const0,const1,const2,const3,const4,const5,const6: integer;
Function CompileTest(InpVar: integer): integer;
BEGIN
Asm
@whilemitka0:
mov ax,i
mov bx,ax
sub ax,bx
sub ax,bx
add ax,10
mov const0,ax
 
mov ax,const0
and ax,kuh
mov const1,ax
 
sub bx,bx
cmp const1, bx
JL @whileendmitka0
 
loop @whilemitka0
@whileendmitka0:
mov ax,i
sub ax,3
mov const2,ax
 
mov ax,k
add ax,rh
mov const3,ax
 
mov ax,const2
or ax,const3
mov const4,ax
 
sub bx,bx
cmp const4, bx
JL @elsemitka0
 
mov ax,j
add ax,1
mov const5,ax
 
mov j,ax
 
@elsemitka0:
mov ax,j
add ax,2
mov const6,ax
 
mov j,ax
 
 
END;
END;
begin
write('Vvedit i= ');
readln(i);
write('Vvedit kuh= ');
readln(kuh);
write('Vvedit k= ');
readln(k);
write('Vvedit rh= ');
readln(rh);
write('Vvedit j= ');
readln(j);
 
readln(InpVar);
writeln(CompileTest(InpVar));
readln;
end.
Возвращает 21177 при любых входных данных

пробывал писать mov ax,232 - Но не возвращает 232

В чем проблемма?
0
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
19.12.2010, 08:02
Всё работает как надо.
Assembler
1
2
3
4
5
6
7
8
9
Funсtion CompileTest: integer;assembler;
asm
  mov ax,232
end;
 
begin
writeln(CompileTest);
readln;
end.
1
6 / 6 / 0
Регистрация: 31.12.2009
Сообщений: 132
19.12.2010, 08:39  [ТС]
да работает
Assembler
1
2
3
4
5
6
7
8
9
Funсtion CompileTest: integer;assembler;
asm
  mov ax,232
end;
 
begin
writeln(CompileTest);
readln;
end.
но если оставить запись
Assembler
1
2
3
4
5
6
7
8
9
10
Funсtion CompileTest: integer;
begin
asm
  mov ax,232
end;
end 
begin
writeln(CompileTest);
readln;
end.
то работать не будет)

Спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.12.2010, 08:39
Помогаю со студенческими работами здесь

Возврат значения из функции
Добрый день! Прошу помочь, нужно чтоб при открытии окна появлялась кнопка, потом при нажатии на неё появлялось модальное окно, куда мы...

Возврат значения из функции
Добрый вечер. Вопрос следующий , как возвратить из функции create последнее значение ЛС , чтоб в дальнейшем использовать в main. ...

Возврат значения из функции
function crop($image, $x_o, $y_o, $w_o, $h_o) { if (($x_o < 0) || ($y_o < 0) || ($w_o < 0) || ($h_o < 0)) { echo...

Возврат значения из функции
Два аргумента функции, объявляю одинаково, в главном модуле объявляю анологичные переменные ID и Hash. После выхода из функции переменная...

Неправильный возврат значения функции
При компиляции если значение меньше или равно 100 программа прекращает работу а если значение выше 100 то работает нормально. ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru