0

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

4

1 回答 1

0

以所有神圣的名义,不要!

  1. 汇编程序通常嵌入在 ROM 中,因此它不起作用。
  2. 任何具有安全性的操作系统都不会让您修改代码段或执行数据。
  3. 有一个特别的地狱留给那些这样做的人,被我们这些曾经不得不维护该死的东西的人的诅咒围起来!

MIPS 有一个用于跳转的寄存器模式 -

    jr $rs

将要跳转的地址移动到寄存器中并跳转到它。它的功能相当于将地址压入堆栈并返回。如果你想调用函数,把跳转放到它自己的子程序中,这样被调用函数的返回返回给调用者。

于 2015-03-27T06:22:54.467 回答