MOV edi, DWORD PTR [esp+8]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
esp中的内容在编译的时候,应该是无法确定的吧?必须运行的时候确定,那么是否意味着[esp+8]需要额外耗费加法的指令周期呢?
一般寄存器相对寻址方式所需的指令周期是多少呢?(从计算esp+8到取出内容)
------解决方案--------------------------------------------------------
应该不会耗费额外的指令周期,虽然指令形式看起来有点复杂,说白了就是从内存中读数据, DWORD PTR [esp+8]会被编译器编译成一个数值
------解决方案--------------------------------------------------------
用/Sc 选项察看指令周期,详见我置顶的帖子《汇编初学者问题合集 》
------解决方案--------------------------------------------------------
学习^_^
------解决方案--------------------------------------------------------
应该是被编译器编译成相对地址
------解决方案--------------------------------------------------------
UP