我想问下EAX寄存器,一般是做累加用的。
c语言 for 循环的反汇编 ++i 对应的汇编是 add eax,1
如果这里改用EBX 行吗?
------解决方案--------------------
可以的吧,但要组织规划好,使用得过于随意,可能会发生混乱甚至出错。
------解决方案--------------------
可以.寄存器是一个直接面向CPU的存储单元,可以看作内存的缓存.按理,寄存器都可以操作其运算,只不过由于汇编指令或编译器的某些规定和一些寄存器耦合度太高,才对寄存器的使用有了限制,于是就有了分类.通用寄存器就是可以直接存入数据的寄存器.在使用中注意指令及编译器的规定就行了,像loop与ecx,乘除与eax
------解决方案--------------------
edx,串传送与esi
------解决方案--------------------
edi,局部变量与ebp,函数返回值与eax等.不要被书上的概念给迷惑。
------解决方案--------------------
可以随便用,当然esp不行...