在程序集中自修改代码

时间:2015-03-27 03:09:23

标签: assembly mips mips32 self-modifying

如何在mips 32程序集中编写自修改代码,使函数调用另一个函数(不添加函数调用)?我必须在运行时修改函数的代码,以便它调用另一个函数。

1 个答案:

答案 0 :(得分:0)

以所有圣洁的名义不要!

  1. 汇编程序通常嵌入ROM中,因此不起作用。
  2. 任何有安全保障的操作系统都不允许您修改代码段或执行数据。
  3. 有一个特殊的地狱保留给那些那些曾经被我们这些曾经不得不维护这些该死的东西的诅咒围住的人!
  4. MIPS具有跳转的注册模式 -

        jr $rs
    

    将要跳转的地址移动到寄存器中并跳转到该寄存器。它的功能相当于将地址压入堆栈并进行返回。如果要调用该函数,请将跳转放入其自己的子例程中,以便从被调用函数返回返回给调用者。