![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 08.12.2008
Сообщений: 30
|
![]()
Я хочу передать параметры через стек в процедуру а также из процедуры в главную программу, как мне это реализовать?
Есть интерфейс написанный на Паскале : Код:
Код:
e, s2 возвращаются из процедуры Последний раз редактировалось maziLa; 05.12.2009 в 15:17. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
![]()
Во вложении пример сопряжения паскаля и асма через линковку. Рекомендую сначала ассемблерный код оформить в виде процедуры в паскале, отладить, а только потом выносить его в ассемблерный файл.
И отладчик Вам в помошь! ![]() |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 08.12.2008
Сообщений: 30
|
![]()
Это уже готовая рабочая программа, мне просто надо её переделать под стек.
Я пробовал мне пример не оч помог я всё равно не могу толково передать строку в стек и из него взять. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
![]()
А никто и не говорил, что будет просто.
Для начала правильно вызовите функцию из паскаля. На этом этапе ассемблерный модуль может вообще ничего не брать из стека и ничего не возвращать в стек! Откройте в Турбо Дебаггере файл, найдите этот вызов и посмотрите в каком порядке паскаль передает аргументы и сколько они занимают места в стеке. Вы получите соответствие s1 - [bp+xx], s2 - [bp+yy] и т.д. и замените в ассемблерном тексте символьные переменные на переменные в кадре стека. Что тут сложного? |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ассемблер | farxad | Помощь студентам | 6 | 11.09.2016 14:19 |
Модульое програмирование.Паскаль.Ассемблер. | maziLa | Помощь студентам | 1 | 02.12.2009 05:51 |
Ассемблер | Майкл18 | Помощь студентам | 0 | 27.11.2009 09:16 |
Ассемблер и Паскаль не дружат... | Monte-Kristo | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 7 | 16.06.2009 13:03 |