其他的看不懂,没了解过64位的指令,单看下面2句
000000013FFBE0C5 dec rax
000000013FFBE0C8 jne testfun+1D2h (013FFBE0B2h)
猜测rax里面存放的是循环的步长.因为i = 0且i要小于dataLen所以直接把datalen的值给寄存器然后自减.
jne是不等于0就继续循环.所以减到0的时候就不循环了.据说编译器优化之后的release里面只有dowhile循环,while循环被优化成了if+dowhile的形式.for循环没有仔细看,应该也差不多
64位汇编
流媒体处理指令
楼主 你赢了~
肝顶替有顶替有