Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ассемблер _ Тавтология имени переменной и регистра.

Автор: TarasBer 3.11.2009 0:34

У меня есть переменная под названием dx. Менять название не хочу, удобно, когда есть dx, dy, dz.
Как обратиться к ней в ассемблерной вставке в паскалевской программе?

Автор: Client 3.11.2009 0:35

точно не знаю, попроюуй так - [dx]

Автор: volvo 3.11.2009 0:48

Цитата
точно не знаю, попроюуй так - [dx]
Ну попробуй, узнаешь smile.gif

Вообще-то вот так:
mov DX, module_name.DX

, где module_name - название модуля или программы.

Автор: Client 3.11.2009 0:52

Цитата
Ну попробуй, узнаешь smile.gif
Паскаля нету smile.gif
а так видел где то, что в процедуре был параметр, например, А, а обращение к нему [А]

Автор: TarasBer 3.11.2009 1:06

Цитата(volvo @ 2.11.2009 20:48) *

Ну попробуй, узнаешь smile.gif

Вообще-то вот так:
mov DX, module_name.DX

, где module_name - название модуля или программы.


А если дело происходит в подпрограмме и dx - локальная переменная?

Автор: volvo 3.11.2009 1:34

Тогда, боюсь, по имени - никак...

Автор: TarasBer 3.11.2009 1:39

Ну ладно, сделал эти переменные глобальными, всё равно
fld uMain.dy - прокатывает, а fld uMain.dx - не компилируется.

Автор: volvo 3.11.2009 2:42

Ты чем компилируешь? У меня FPC прекрасно берет FLD uMain.dx. Турбо Паскалем сейчас проверить не могу, к сожалению.

Автор: TarasBer 3.11.2009 4:41

Дельфой-семёркой.

Автор: volvo 3.11.2009 4:50

Хм. Попробуй
fld &dx

Турбо Паскаль так берет даже локальные переменные в функции. Дельфи 2009 тоже понимает амперсанд.

Автор: TarasBer 3.11.2009 5:54

Во, оно!