2015-11-07 3 views
0

Я видел какАссамблея Intel 0x80 против 80h

int 0x80 

и

int 80h 

используется в синтаксисе Intel в сборке. Есть ли разница между 2, и если да, то что это?

+3

Различные ассемблеры имеют разные способы выделения шестнадцатеричных констант из десятичных констант. В первом примере используется метод, взятый из языка программирования C. Во втором примере используется метод MASM. –

ответ

4

Они эквивалентны. Разница заключается в том, что они используются среди разных ассемблеров.

Обратите внимание, что h постфикса оставляет возможность некоторого заблуждения о целочисленных константах на ассемблер: FFh можно считать либо постоянной илиэтикеткой. Превращение символа 0 устраняет эту двусмысленность.

+3

at & t vs intel не имеет к этому никакого отношения. Например, GNU 'as' не использует' 80h' в любом режиме, а nasm принимает оба. – Jester

+0

@Jester Упс, я всегда думал, что, только что проверил, и вы, кажется, правы, спасибо, что освободили меня/это. Редактируйте на своем пути. – Downvoter

+0

Также «80h» - это форма «старого Intel», когда Motorola использовала форму «80 долларов США». В настоящее время чаще всего используется форма «0x80» (вероятно, от С). – turboscrew

Смежные вопросы