Приведите пожалуйста примеры вызова прерываний на асме в проге на СИ. И уж буду совсем благодарен,если приведете пример кода(тоже в виде вставки) использования инструкций умножения и деления
_asm { mov eax, 0xBAADFOOD shr eax, 1 //eax = eax/2 shr eax, 2 //eax = eax/4 shr eax, 3 //eax = eax/8 int 3 //interrupt mov eax, 12 mov ecx, 3 xor edx, edx div ecx //eax = 12 / 3 };
умножение _asm { mov eax, 12 mov ecx, 3 xor edx, edx mul ecx //eax = 12*3 mov eax, 12 mov ecx, 3 imul eax, ecx, eax //eax = 12 * 3 };
работа с переменными unsigned short a, b, c; .... _asm { movzx eax, word ptr [a] movzx ecx, word ptr xor edx, edx mul ecx mov word ptr [c], cx //c = a * b };
mov word ptr [c], ax //c = a * b вот так правильно ))) вверху ощибсьо малость в последней строчке )))
я не то имел ввиду хотел спросить ЕСТЬ ли на русском такая инструкция а то на инглише не очень понятно, люблю когда подробно пишут и на родном языке )