Посл.ответ |
Сообщение |
Ранг: 4.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 21 августа 2009 19:14 · Личное сообщение · #1
Здравствуйте! Возникла проблема: Нужно переопределить макросом инструкцию mov. Для чего? Для удобства написания базонезависимого кода. По примеру будет понятно:
Так вот ругается "Invalid Operand" при коде вида
Будьте добры, подскажите как поправить макрос.
| Сообщение посчитали полезным: |
|
 Ранг: 355.4 (мудрец), 55thx Активность: 0.32↘0 Статус: Uploader 5KRT
|
Создано: 21 августа 2009 21:14 · Поправил: Coderess · Личное сообщение · #2
...
----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes | Сообщение посчитали полезным: |
Ранг: 20.8 (новичок), 1thx Активность: 0.01↘0 Статус: Участник
|
Создано: 21 августа 2009 21:26 · Личное сообщение · #3
Да вроде и в первом варианте нет ошибок. Только нужно
CoderessВы внутри макроса _mov используете его же, такой рекурсии Fasm не воспринимает.
| Сообщение посчитали полезным: |
 Ранг: 355.4 (мудрец), 55thx Активность: 0.32↘0 Статус: Uploader 5KRT
|
Создано: 21 августа 2009 21:56 · Личное сообщение · #4
Ага, ошибся
----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes | Сообщение посчитали полезным: |
Ранг: 4.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 21 августа 2009 22:14 · Личное сообщение · #5
um0v ведь если написать
то так и скомпилится. а мен надо что бы в результате было(например):
то есть с учетом дельты.. или может я прогнал, тогда простите, забыл уже что такое сон ..
| Сообщение посчитали полезным: |
Ранг: 20.8 (новичок), 1thx Активность: 0.01↘0 Статус: Участник
|
Создано: 21 августа 2009 22:25 · Личное сообщение · #6
Sl4y[e]rА Вы приведите код целиком, с ошибкой. А то как я не стараюсь, оную получить не могу
| Сообщение посчитали полезным: |
Ранг: 4.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 21 августа 2009 23:30 · Поправил: Sl4y[e]r · Личное сообщение · #7
Значт. Для теста пишу: Проблема вот в чем, пишу:
Получаю:
Вообще, возможно ли сделать полную замену макросом, что бы только где надо был учет дельты?
| Сообщение посчитали полезным: |
Ранг: 4.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 22 августа 2009 13:17 · Поправил: Sl4y[e]r · Личное сообщение · #8
В общем, утро вечера мудренее:
Не работает только такая: mov eax,1 конструкция. Хотя, вроде же явно указал.. не знаю даже. Ассемблируется MOV EAX, DWORD PTR DS:[EBX+FFBFEFEF] Как бы поправить, подскажите пожалуйста.
| Сообщение посчитали полезным: |
Ранг: 20.8 (новичок), 1thx Активность: 0.01↘0 Статус: Участник
|
Создано: 22 августа 2009 14:45 · Личное сообщение · #9
Почему не работает? Выполняется второе условие
DELTA=0x401012, -DELTA=inc(not(DELTA))==0xFFBFEFEE, 0xFFBFEFEE +1==0xFFBFEFEF
| Сообщение посчитали полезным: |
Ранг: 4.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 22 августа 2009 15:27 · Личное сообщение · #10
так вот и я не пойму почему оно выполняется.. ведь второй аргумент не метка. мне нужно что бы и получалось в итоге mov eax,1.
| Сообщение посчитали полезным: |
Ранг: 20.8 (новичок), 1thx Активность: 0.01↘0 Статус: Участник
|
Создано: 22 августа 2009 16:02 · Личное сообщение · #11
А если так:
| Сообщение посчитали полезным: |
Ранг: 4.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 22 августа 2009 16:30 · Личное сообщение · #12
тогда код вида
компилится без учета дельты. блин. совсем запутался, вродеж легче легкого а туплю..
| Сообщение посчитали полезным: |