某C语言程序中对数组变量b的声明为“short b[10][5];”,sum为int型,有一条for语句如下: for (i=0; i<10, i++) for (j="0;" 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