Použití operátorů v blocích __asm
Konkrétní společnosti Microsoft
__asm Bloku nelze použít jako c nebo C++ určitých provozovatelů << operátor.Však operátory sdílené c a jazyk MASM, například * operátor, jsou interpretovány jako operátory jazyka symbolických adres.Pro instanci mimo __asm blokovat hranatých závorek ([]) jsou interpretovány jako dolní indexy polí, která c automaticky přizpůsobí velikost prvku matice uzavření.Uvnitř __asm blok, silikon hospodářský subjekt index jazyk MASM bez měřítka offsetu výnosy z datového objektu nebo popisku (nikoli pouze pole).Následující kód ukazuje rozdíl:
int array[10];
__asm mov array[6], bx ; Store BX at array+6 (not scaled)
array[6] = 0; /* Store 0 at array+24 (scaled) */
První odkaz na array nezmění, ale je druhý.Všimněte si, že můžete použít typu operátor dosáhnout měřítka na základě konstanta.Například následující příkazy jsou rovnocenné:
__asm mov array[6 * TYPE int], 0 ; Store 0 at array + 24
array[6] = 0; /* Store 0 at array + 24 */
Konec konkrétní společnosti Microsoft