__allshr _ Код (Text): _allshr proc near cmp cl, 40h jnb @2 cmp cl, 20h jnb short @1 shrd eax, edx, cl sar edx, cl retn @1: mov eax, edx sar edx, 31 and cl, 11111b sar eax, cl retn @2: sar edx, 31 mov eax, edx retn endp Параметры передаются в edx и cl Эта функция определена в файле ;*** ;llshr.asm - long shift right ; ; Copyright (c) Microsoft Corporation. All rights reserved. ; ;llshr - long shift right Что она делает ?
Это что, задача на сообразительность? что-то типа такого: Код (Text): __int64 allshr(int x, unsigned char y) { return __int64(x) >> y; }
Спасибо. Это функцию я встретил в иследуемой программе и не смог ее переписать на с. Не мог понять, что за действиями она знимается
DenKor Знаешь, может помочь тупое численное экспериментирование в дебуге. Можно понять гораздо более сложные конструкции. Главное, сначала определить, что есть входные и выходные аргументы.