Можно две метки поставить перед вызовом и после и использовать разницу между ними. Можно поверить на слово, что call eax это 2 байта. И наконец инструкции call eax пофигу, по какому адресу она сама и все остальное ассемблируется. Че-то ничего на ум не приходит зачем тебе весь код сдвигать на 2 байта.
Код (ASM): nop nop ; dalee vash kod это если вам надо сдвинуть. А если вы хотите получить размер то делается это так Код (ASM): _delta: ;vash kod _gamma: lea eax, [_gamma] sub eax, _delta
По всей видимости ему надо ассемблировать так, будто этого вызова в коде нету, а дальнейший код уже опосля будет сдвинут. Как же масм плох, если это делается не вот так Код (ASM): @@: call eax org $-@B
f13nd, можно и так и так, я просто показал логику. Я так понял ему надо потом использовать значение. Но если только для org , то может быть. Но тогда какой в этом смысл - инструкция Call с подобным операндом транслируется всегда однозначно и можно сразу сделать типа Org 102h ))) В общем туманный вопрос.
Спасибо! а TermoSINteZ верно подметил. Мне нужна макро функция, которая возвратит процессор масма на инструкцию назад, а т.к. салл может быть и память и регистр нужна макро функция. @@: call eax org $-@B Хочу затереть последний вызов салл lala Invoke lala,x,y Org $-макро функция