2012-02-23 9 views
6

Voy a través de diversos códigos de operación en CIL y me encuentro con un montón de códigos de aspecto similar como Beq, Beq_S Bge, Bge_S Bgt, Bgt_S Br, Br_S¿Cuál es la diferencia entre los códigos de operación normales y de formato corto en CIL?

Donde S es supuestamente "forma corta". ¿¿Qué significa eso??

+0

Entiendo que Corto hace referencia al tamaño del operando donde una instrucción _s toma un operando de byte singe. Pero, ¿cuál es el motivo para tener dos de esas instrucciones? por favor proporcione una situación donde uno es preferido sobre el otro. – gradientt

Respuesta

7

Las formas cortas de las instrucciones ocupan menos espacio (es decir, la codificación binaria de las instrucciones CIL son más cortas, por lo que su conjunto ocupará menos espacio en el disco o en la memoria). Por lo tanto, normalmente serían preferidos cuando corresponda. Sin embargo, la compensación es que tienen rangos limitados en comparación con las formas completas de las instrucciones (por ejemplo, los desfases de destino de rama deben caber en bytes en lugar de en enteros).

Cuestiones relacionadas