Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > Команда PASHA (?)


Автор: Anklav 2.5.2004, 23:16
Есть такая команда PUSHA, которая записывает регистры общего назначения в стек. И это я твёрдо знаю.
Но, как оказалось, существует также команда PASHA, о которой я нечего не знаю и умные книжки мне об этом ничего не сказали. А вот NASM (0.98) знает, т.к. скомпилировал исходник с этим совершенно спокойно (т.е без ошибок). Если кто-нибудь также знает что это значит, то поясните пожалуйста.
P.S.
Возможно вся проблема в том, что я NASM до этого не использовал, да и вообще с ASM'ом плохо (пока) знаком.

Автор: p0s0l 3.5.2004, 11:39
Погляди что в итоге получается когда напишешь PASHA - во что это отассемблируется ? Может это какой-нибудь макрос...

Автор: Jin X 3.5.2004, 17:26
Нет такой команды. NASM откомпилил, потому что принял это слово за имя метки. Ведь NASM не требует (но разрешает) ставить двоеточие после имени метки.
Цитата
NASM places no restrictions on white space within a line: labels may have white space before them, or instructions may have no space before them, or anything. The colon after a label is also optional. (Note that this means that if you intend to code lodsb alone on a line, and type lodab by accident, then that’s still a valid source line which does nothing but define a label. Running NASM with the command-line option -w+orphan-labels will cause it to warn you if you define a label alone on a line without a trailing colon.)

Автор: DenDen 3.5.2004, 17:36
Жаль. Я-то думал, что она вызывает могущественного программиста Пашу, который убирает из твоего кода ошибки, ругает матом и все классно оптимизирует(одно жалко, что после компиляции все это происходит).

Автор: Jin X 3.5.2004, 17:51
Можешь указать опцию -w+orphan-labels при компиляции или в исходнике: [warning +orphan-labels]

Автор: Anklav 4.5.2004, 00:04
Действительно, Jin X, ты прав, вот что он мне рассказал после компиляции с этой опцией:
Код

start.asm:46: warning: label alone on a line without a colon might be in error


И спасибо тебе.


Цитата

Жаль. Я-то думал, что она вызывает могущественного программиста Пашу, который убирает из твоего кода ошибки, ругает матом и все классно оптимизирует(одно жалко, что после компиляции все это происходит).

И хорошо, что этот могущественный Паша, только перезагружал мне комп.

Автор: bagira 9.5.2004, 20:40
А может быть, речь идет об операторе PUSH A ? rolleyes.gif

Автор: Anklav 9.5.2004, 23:46
Об этом уже прошла речь. Дело в том, что я случайно вместо pusha набрал pasha, и поэтому, кагда я заметил эту ошибку, сильно удивился

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)