![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Адресация локальной переменной в asm [D6, WinME]
Владимир Березин © (2003-11-24 20:16:00)
Здравствуйте!
Вот такая задача:
надо написать функцию формирующую, по определенному алгоритму,
строку типа stringи возвращающую эту строку в качестве
результата. Вопрос - как это сделать используя встроенный ассем
блер?
Digitman (2003-11-25 18:39:00) [1]
> Dimka Maslov
согласен ... и это печально ... потому как первым делом ему следовало бы изучить все эти станд.возможности, коль скоро фигурирует string-тип и asm-блок
Dimka Maslov (2003-11-25 18:37:00) [2]
>Digitman © (25.11.03 18:34) [7]
Именно это я и имел в виду, но человек похоже весьма далёк от этих функций
Digitman (2003-11-25 18:34:00) [3]
> Dimka Maslov
вся идея в том, чтобы задействовать бордандовские стат.ф-ции из System.pas для распределения/перераспределения памяти под такой тип строк ... чтобы самому не лезть в епархию менеджера памяти ... и это достаточно просто ... а все остальное - заполнение выделенного борландом буфера - на asm лишь дело техники
Digitman (2003-11-25 18:30:00) [4]
> Dimka Maslov
дело вовсе не в этом
нисто не мешает тебе в asm-блоке вызывать статические ф-ции для работы с такими строками непосредственно из модуля system.pas
нехай Борданд пыхтит сам, коль понапридумывал все это)
нам здесь важно лишь соблюсти соглашения о вызовах его п/программ в этом модуле
Dimka Maslov (2003-11-25 18:04:00) [5]
согласен, если с умом работать и знать как размещаются строки в памяти
Digitman (2003-11-25 17:53:00) [6]
> Dimka Maslov
не выдумывай)
все прекрасно выходит
во только - надо ли заниматься ерундой с asm ? это как раз вопрос ...
Dimka Maslov (2003-11-25 17:47:00) [7]
со строками типа string всё равно на ассемблере ничего не выйдет
Digitman (2003-11-25 11:35:00) [8]
> Владимир Березин
реализуешь сабж на обычном Паскале, трассируешь код в окне отладки CPUWindow - и смотришь/изучаешь, как тоже самое должно примерно выглядеть на ассемблере
Anatoly Podgoretsky (2003-11-24 20:18:00) [9]
Адресация простая ОПЕРАТОР var_name или [var_name]