Глючат процедуры побитового сдвига shl shr в применении к LongInt

Можно поставить фикс BP7.0 -> BP7.01, или же использовать свои процедуры. Вот пример (работают на 386+):

function LongShl(A: LongInt; B: Byte): LongInt; assembler; asm mov cl,[B] db $66 {код опеpаций с 32-битными pегистpами} mov ax,word ptr [A] db $66 shl ax,cl db $66 push ax pop ax pop dx end; function LongShr(A: LongInt; B: Byte): LongInt; assembler; asm mov cl,[B] db $66 mov ax,word ptr [A] db $66 shr ax,cl db $66 push ax pop ax pop dx end;

Понравилась статья? Поделиться с друзьями: