added i386 assembly function