I'm examining a crash on Cygwin-x64 (2.3.1) with GCC 5.2 (5.2.0). The crash is on a move instruction I am not familiar with. The instruction is ' mov (%r11,%rax,1),%dl'. Can anyone explain the instruction to me? My apologies for the request, and thanks in advance. ========= (gdb) disass ... 0x000000010048d85a <+141>: callq 0x1004afd30 <CryptoPP::IsAlignedOn(void const*, unsigned int)> 0x000000010048d85f <+146>: test %al,%al 0x000000010048d861 <+148>: jne 0x10048d895 <CryptoPP::xorbuf(unsigned char*, unsigned char const*, unsigned char const*, unsigned long)+200> 0x000000010048d863 <+150>: jmp 0x10048d87b <CryptoPP::xorbuf(unsigned char*, unsigned char const*, unsigned char const*, unsigned long)+174> 0x000000010048d865 <+152>: shl $0x2,%rax 0x000000010048d869 <+156>: sub %rax,%r9 0x000000010048d86c <+159>: je 0x10048d91b <CryptoPP::xorbuf(unsigned char*, unsigned char const*, unsigned char const*, unsigned long)+334> 0x000000010048d872 <+165>: add %rax,%r10 0x000000010048d875 <+168>: add %rax,%r11 0x000000010048d878 <+171>: add %rax,%rbx 0x000000010048d87b <+174>: xor %eax,%eax => 0x000000010048d87d <+176>: mov (%r11,%rax,1),%dl And: (gdb) info registers rax 0x9b7a 0x9b7a rbx 0x600061810 0x600061810 rcx 0x4 0x4 rdx 0x61 0x61 rsi 0x6000623c8 0x6000623c8 rdi 0x600062d70 0x600062d70 rbp 0x23a486 0x23a486 rsp 0x23a190 0x23a190 r8 0x600061810 0x600061810 r9 0x23a486 0x23a486 r10 0x600062d70 0x600062d70 r11 0x23a486 0x23a486 r12 0x20 0x20 r13 0x1 0x1 r14 0x600062d70 0x600062d70 r15 0x23a320 0x23a320