某C语言对数组变量b的声明为“short b[10][5];”,sum为int型,有一条for语句如下:for (i=0; i<10, i++)for (j=0; j<5; j++)sum+= b[i][j];假设执行到“sum+= b[i][j];”时,sum的值在EAX中,b[i][0]所在的地址在ECX中,j在EDI中,则“sum+= b[i][j];”所对应的指令或指令序列(AT&T格式)可以是( )。
A.
addl 0(%edi, %ecx, 2), %eax
B.
addl 0(%ecx, %edi, 2), %eax
C.
movzwl 0(%edi, %ecx, 2), %edx addl %edx, %eax
D.
movswl 0(%ecx, %edi, 2), %edx addl %edx, %eax