Входам и выходам дать имена (32 bit локальные переменные)
или пихать в стек в определенном порядке
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
|
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Гость, даны уже
А вопрос был в том, знаете ли Вы их имена. Если знаете, то в чем проблемы А если нет, то о технологии вставок персональных кодов можно поговорить более предметно после ознакомления Вами со справкой на этот предмет. Ну и, наконец, я Вам могу выложить элемент с двумя входами и одним выходом (подтвердив тем самым, что это не есть проблема). С одной командой на ASM: первый метод, например, прибавляет единицу, а второй - отнимает. И утверждение заключается в следующем: через два дня Вы захотите другую архитектуру элемента. Ну вот и зачем это чудо тогда включать в дистрибутив Когда есть технология для создания произвольной допустимой архитектуры..... |
|||
карма: 9 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Методы не нужны и события тоже(если только одно событие чтобы знать когда забирать данные)!
Надо на вход данные и на выход тоже (ну может еще ссылка на область памяти определенного размера) |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Гость, Вы вообще-то о чем говорите
В терминах того о чем мы разговариваем, метод - это подпрограмма, у которой есть дополнительный аргумент - указатель на персональную для объекта область данных. Даже если эта область нулевой длины. А не объектов в данном языке просто нет. И не методов - тоже. Не нравится этот аргумент - не пользуйтесь (как и данными, соответственно). |
|||
карма: 9 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Наверное Вас не понял.
Нужен компонент с настраиваемыми точками(количество) входов с заранее в свойствах прописываемыми их именами и типом (байт,слово,двойное слово) и такими же выходами ну и хотя-бы заранее определенным участком памяти(изменяемым объемом). Типа положил данные, включил, он отработал положил данные на выход и вырубился с освобождением области памяти. Этой архитектуры хватит для любых целей и другой не надо ...Не вижу недостатков этой архитектуры. А метод понимаю как уже определенную подпрограмму обработки - так вот этого не надо обработку пусть можно будет писать любую. |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
1) Позволю себе повторить вопрос:
Гость, Вы вообще-то о чем говорите
слово компонент звучит => есть точки входа, которые являются методами. И никак по-другому, или Вы попали на другой форум. Если я не напишу этот метод(ы), то кто же Вы, как я начинаю догадываться, это уметь считаете вредным......... 2) Возникает подозрение, что Вы считаете, что можно одновременно подать данные на несколько левых точек......Не говоря уж об остальном. А что в этом контексте означает положить на выход..... 3) Этой архитектуры хватит для любых целей и другой не надо
...Не вижу недостатков этой архитектуры. Не для любых. Зря не видите. Но дело даже не в этом: каким боком это вообще относится к HiAsm Для меня теперь это загадка В общем, у меня текст кончился................................ |
|||
карма: 9 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Надо эл-т класса DPElement где усе обработки писать на асме.
А насчет одновременного подания данных на вход нет, компонента работает (сначала дадут все данные которые будут пользовать а потом включать типа как таймер) ну а после работы компонента когда все данные готовы то происходит событие на оно указывающее и компонент типа выключен, тоды забираем данные с выходов и усе вроде. |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Надо эл-т класса DPElement где усе обработки писать на асме.
А кто не дает Берите элемент класса DPElement и усе обработки пишите на ASM-е, заключивши эти все обработки скобками asm.....end. сначала дадут все данные которые будут пользовать а потом включать типа как таймер
Кто дадут, и куда И с какой такой радости это следует делать в стиле отличном от типового в HiAsm И что значит включить Разрешить параллельный процесс что-ли то происходит событие на оно указывающее и компонент типа выключен, тоды забираем данные с выходов
Что Вы понимаете под словом событие (в HiAsm это вызов метода другого объекта) И что значит забираем данные с выходов (выходы в HiAsm это данные этого объекта, хранящие схемные соединения - адреса методов других объектов) =========================================== Ну и последний вопрос для меня таки остался непонятен: каким боком это вообще относится к HiAsm |
|||
карма: 9 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
обработки пишите на ASM-е ->значит не законченную (не меняемую)подпрограмму в готовом компоненте(делает например сложение,умножение,сдвиги), а что-то вроде VB-Script когда делаю схему тогда и пишу обработку компонент то пустой(настраиваем только сколько, какого типа и куда подать и откуда потом забрать)
Короче так и не поняли или скорее не смог объяснить чего хотелось. Компонент хотелось совсем не похожий на все другие в Hiasm(методы,события, и т.д.) работа в нем ведется по другому в смысле работы с другими компонентами он получает данные(числа) обрабатывает и выдает(числа) ну и переключатель к нему включил выключил... |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Да мне кажется, что понял:
Вставить кусок кода, в том числе и большого, не представляет трудности. Кроме знания взаимодействия программных блоков на разных языках. По моему пониманию, без этого жить нельзя вообще, если писать на ASM-е. И не только в случае с HiAsm. "Не хочу знать как работают другие, а вот другие пусть приспособятся..." - это не позиция, ИМХО. Но и это непонимание (в надежде, что оно временное) можно преодолеть - есть предложение написать сверхпростой элемент с одной командой на ASM-е, из которой будет понятно откуда, что берется и куда следует вставить результаты, чтобы они оказались в выходном потоке. Ведь другие элементы будут общаться с этим элементом, как с HiAsm-овским, независимо от ничьих предпочтений или непониманий. И у Вас была бы возможность вместо этой одной ASM-команды записать произвольное количество своих кодов (опять же, соблюдая, так называемое, регистровое соотношение). Или вызов своей подпрограммы.... А отсутствие восторженных отзывов по поводу функционального назначения такого элемента, связано лишь с сомнениями в том, что функциональное назначение останется неизменным и далее. Говорил даже про два дня.... Компонент хотелось совсем не похожий на все другие в Hiasm(методы,события, и т.д.) работа в нем ведется по другому в смысле работы с другими компонентами он получает данные(числа) обрабатывает и выдает(числа) ну и переключатель к нему включил выключил...
Вот потому и задавал вопрос: каким боком это вообще относится к HiAsm |
|||
карма: 9 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
есть предложение написать сверхпростой элемент с одной командой на ASM-е, из которой будет понятно откуда, что берется и куда следует вставить результаты, чтобы они оказались в выходном потоке. Ведь другие элементы будут общаться с этим элементом, как с HiAsm-овским, независимо от ничьих предпочтений или непониманий Хорошее предложение. Возможно ли ввести такой элемент в дистрибутив ?Или каким еще способом получить ? Кроме знания взаимодействия программных блоков на разных языках. По моему пониманию, без этого жить нельзя вообще, если писать на ASM-е Жить можно... |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
1)
Возможно ли ввести такой элемент в дистрибутив ?
а ответ уже был: И утверждение заключается в следующем: через два дня Вы захотите другую архитектуру элемента.
2) Или каким еще способом получить ?
Это несколько затруднительно, пока Вы не зарегены на Форуме. Кроме того, во исключении неправильного понимания, хотелось бы фрагмент схемы на HiAsm c использованием такого элемента (а вместо него подставьте, например, MultiElementEx) 3) Жить можно...
На ASM-е НЕЛЬЗЯ |
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
По поводу второго варианта(упаковка в .ехе) может пусть fasm компилит dll-ку типа project1.dll (оптимизирует код он прекрасно да и сжимать не к чему т.к. код и так небольшой только то что надо) а из основного еxe к ней идут вызовы - появление одной .dll-ки к проекту думаю не критично.
Собственно вы сами ответили на свой вопрос. Есть такой замечательный компонент CallDLL, который умеет вызывать ф-ции из указанной в его св-ве DLL. Работа с ним описана в справки с двумя примерами: на Delphi и на С++. Почему бы не взять его за основу? Один раз придется разобраться как корректно написать dll на ASM, зато потом будет все что заказывали - ставим компонент, задаем нужное число точек( т.к. он DPElement! ) и стукуем с внешней DLL. |
|||
карма: 27 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Снимки экрана у кого-нибудь работают? Или кроме Ctrl-Q есть еще волшебные слова? У меня ругается на "The parameter is incorrect"
|
|||
карма: 6 |
|
Ответов: 838
Рейтинг: 4
|
|||
У меня сриншоты нормально работают.
Кстате, поиск внутри контейнеров не производится? |
|||
карма: 0 |
|