Я пытался хорошо освоить язык ассемблера x86, и мне было интересно, есть ли быстрый и короткий эквивалент movl $1, %eax
. Именно тогда я подумал, что список идиом, часто используемых в языке, возможно, будет хорошей идеей.
Это может включать предпочтительное использование xorl %eax, %eax
вместо movl $0, %eax
или testl %eax, %eax
вместо cmpl $0, %eax
.
О, и, пожалуйста, размещайте по одному примеру в сообщении!
movl $1, %eax
довольно быстрый и короткий. На некоторых процессорахxorl %eax, %eax
на самом деле медленнее, чемmovl $0, %eax
. На другихincl %eax
медленнее, чемaddl $1, %eax
. Если вы собираетесь писать ассемблер в 2010 году, вы должны знать, для какой архитектуры вы пишете, и, следовательно, выбрать свой диалект (в соответствии с лингвистической метафорой). - person Pascal Cuoq   schedule 15.04.2010incl %eax
медленнее, чемaddl $1, %eax
. Кроме того, если бы вы могли указать мне какую-либо ссылку, в которой подробно описывается такое поведение, я был бы признателен! - person susmits   schedule 15.04.2010