Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
3 / 3 / 2
Регистрация: 13.02.2012
Сообщений: 161
MASM32

Вычисление оформить в подпрограмме

22.02.2013, 19:20. Показов 6103. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начинаю учить ассемблер, дошел до темы "Подпрограммы и структуры". Начал пробовать писать код, который с помощью подпрограммы реализует перевод числа в степень (степень зависит от количества вызовов подпрограмм).
Программа когда пытаюсь её открыть как будто запускается и сразу закрывается. В чем ошибка?
Вот мой код:
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
.386 
 
.model flat 
 
extrn ExitProcess:PROC 
extrn MessageBoxA:PROC 
extrn wsprintfA:PROC 
 
.data 
 
Ttl db "Прога №1",0h 
format db "%d",0h 
result db 128 dup (?) 
 
.code 
start: 
QuadFunc proc 
mul eax 
cdq 
Ret 
QuadFunc endp 
mov eax, 3 
call QuadFunc 
call QuadFunc 
call QuadFunc 
call QuadFunc 
  push eax 
  push offset format 
  push offset result 
  call wsprintfA 
    push 0 
    push offset Ttl 
    push offset result 
    push 0 
    call MessageBoxA 
      push 0 
      call ExitProcess 
end start
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.02.2013, 19:20
Ответы с готовыми решениями:

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

Вычисление десятичного логарифма в подпрограмме
создать модуль, который обеспечивает вычисление суммы квадратов и разности квадратов двух вещественных величин в "procedure " и...

Найти N!/М!. В подпрограмме реализовать вычисление факториала
Помогите с задачей... Задача: Найти N!/М!. В подпрограмме реализовать вычисление факториала.

7
 Аватар для arzrav
73 / 74 / 4
Регистрация: 25.09.2012
Сообщений: 211
23.02.2013, 14:28
До .data объявите прототип QuadFunc PROTO
А саму подпрограмму перенесите в конец, после call ExitProcess
1
23.02.2013, 14:29

Не по теме:

arzrav, осторожнее. ТС на другом форуме за такой совет меня Петросяном обозвал.

1
23.02.2013, 15:15

Не по теме:

Цитата Сообщение от Vadimych Посмотреть сообщение
ТС на другом форуме за такой совет меня Петросяном обозвал.
:rofl::rofl:

0
3 / 3 / 2
Регистрация: 13.02.2012
Сообщений: 161
23.02.2013, 20:56  [ТС]
Цитата Сообщение от Vadimych Посмотреть сообщение

Не по теме:

arzrav, осторожнее. ТС на другом форуме за такой совет меня Петросяном обозвал.

Да ладно ты чё ещё обижаешься? Я думал что это шутка была, типа после выполнения ExitProcess поставить функцию.
Почему надо после выполнения ExitProcess ставить функцию?
0
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
23.02.2013, 21:16
Цитата Сообщение от Клод Посмотреть сообщение
Почему надо после выполнения ExitProcess ставить функцию?
А подумать никак не получается? Да, и напомните, кстати, когда мы на "ты" перешли?
0
3 / 3 / 2
Регистрация: 13.02.2012
Сообщений: 161
23.02.2013, 21:27  [ТС]
Цитата Сообщение от Vadimych Посмотреть сообщение
А подумать никак не получается? Да, и напомните, кстати, когда мы на "ты" перешли?
Подумать получилось после того, как наткнулся на одно интересное сообщение на этом форуме. А на "ты" мы не переходили, если "вам" не удобно то я буду на "вы" обращаться.

Добавлено через 8 минут
Кстати, подпрограмму можно разместить и в начале кода, главное "чтобы на неё не попало управление".
Вот мой пример, мож кому поможет потом...
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
.386
 
.model flat
 
extrn ExitProcess:PROC
extrn MessageBoxA:PROC
extrn wsprintfA:PROC
 
.data
 
Ttl db "Прога №1",0h
format db "%d",0h
result db 128 dup (?)
 
.code
QuadFunc proc      ; разместил подпрограмму до начала выполняемого кода
mul eax
cdq
ret 
QuadFunc endp
start:                   ; начало выполняемого кода
mov eax, 3
call QuadFunc
call QuadFunc
  push eax
  push offset format
  push offset result
  call wsprintfA
    push 0
    push offset Ttl
    push offset result
    push 0
    call MessageBoxA
      push 0
      call ExitProcess
end start
0
 Аватар для Troll_Face
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
24.02.2013, 00:00
Цитата Сообщение от Клод Посмотреть сообщение
Кстати, подпрограмму можно разместить и в начале кода, главное "чтобы на неё не попало управление".
Да ладно??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.02.2013, 00:00
Помогаю со студенческими работами здесь

Подпрограммы. Вычисление скалярного произведения векторов в подпрограмме
Составить программу с использованием подпрограмм. Найти значение: min(p1,p2),где р1 - скалярное произведение векторов А и В; р2 -...

Оформить в виде функции вычисление среднеарифметического, вычисление суммы и произведения чисел
2. Даны три числа. Оформить в виде функции вычисление среднеарифметического, вычисление суммы и произведения этих чисел.

Составить подпрограмму и вычислить значение функции Y. Вычисление логарифмов осуществлять по подпрограмме
ВАРИАНТ 9. Составить подпрограмму и вычислить значение функции Y. Вычисление логарифмов осуществлять по подпрограмме (LOGA(X)=LN(X)/LN(A)...

Вычислить объемы шаров . Вычисление радиусов вычислить в подпрограмме.
точки А(5.I,2.9,-3.7),В(0.8,-1.5,3.9),С(2.2,0.8,5.4) и D(-3.3,2.5,0.7) принадлежат поверхностям шаров с центром в точке О(0.3,7.8,2.9)....

Вычисление факториала оформить в виде подпрограммы
Вычислить сумму: 1!+2!+3!+4!+...+n! Вычисление факториала числа k! оформить в виде подпрограммы.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru