The MMX instruction pand has the opcode 0x0FDB, but in DJGPP a pand results in
a 0x0FDA opcode. This results in a program crash due to SIGILL (Invalid Opcode).
I've found three workarounds:
1. Write the full opcode with .byte 0x0F,0xDB,<modR/M>
2. If the source operand is in memory, you could sometimes use .byte 0x0F plus
a floating-point instruction instead, as follows:
".byte 0x0F ; fildl (address)" can replace "pand (address),%mm0"
".byte 0x0F ; fistpl (address)" can replace "pand (address),%mm2"
".byte 0x0F ; finit" can replace "pand %mm4,%mm3"
".byte 0x0F ; fldt (address)" can replace "pand (address),%mm5"
3. Change the 0x0fda on line 831 of gnu/binutl-2.81/include/opcode/i386.h to
0x0fdb and re-make