做了半个月的反汇编的项目,有一些小小的体会。用的是Code Composer Studio编译工具,进行汇编测试,并翻译成c语言。
测试汇编的时候 。
1。测试用例的数据输入传不到汇编code里面去,
可能是定义的全局变量没有修改寄存器的高地位(高位MVKH 地位MVKL)
再者就是测试数据传的数据类型有问题。(一般是地址的问题)
2。汇编调用函数,需要在首行引用函数 .ref xxx_asm.变量也需要引用 .global ___xxx.
进入函数不能返回,注意函数附近的返回地址(一般是B3)地址需要修改好
3。在汇编中地址如果是2000以下的是端口地址
4000-8000一般是常量。
8000以上的则是全局变量。
4。任何指针类型都可以转化成整形,(因为地址是整形6)
5。汇编偏移地址一般是16进制,所以都是4的倍数,在c语言中地址则不变,若有指针则需给偏移指针<<2(除以4)
原点丹枫(reid)