Tag: mips32

编写MIPS机器指令并从C执行它们

我正在尝试用C和MIPS编写一些自修改代码。 由于我想稍后修改代码,我正在尝试编写实际的机器指令(而不是内联汇编)并尝试执行这些指令。 有人告诉我,有可能只是malloc一些内存,在那里写指令,指向它的C函数指针,然后跳转到它。 (我在下面举例说明) 我已经尝试使用我的交叉编译器(sourcery codebench工具链)并且它不起作用(是的,在后面的视线中我认为它确实看起来很幼稚)。 我怎么能正确地做到这一点? #include #include #include void inc(){ int i = 41; uint32_t *addone = malloc(sizeof(*addone) * 2); //we malloc space for our asm function *(addone) = 0x20820001; // this is addi $v0 $a0 1, which adds one to our arg (gcc calling con) *(addone + 1) = 0x23e00000; //this is […]