- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经写了一个实现归并排序算法的 MIPS 子程序(代码在帖子的最后)。它接收指向数组的指针及其大小。排序它,不要返回任何东西。
我一直在调试它,修复了一些错误,并且由于子例程在达到基本情况(大小为 1 的数组)之前似乎运行良好,现在我正在使用 gdb 和此 C 代码来针对特定情况对其进行调试:
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
extern void merge_sort(char*, int);
int main(int argc,char **argv){
char* vector;
vector = (char*)malloc(sizeof(char));
if(vector == NULL) printf("error");
size_t vector_size = 1;
memcpy(vector,"5",vector_size);
merge_sort(vector, vector_size);
int i;
for(i = 0; i < vector_size; i++){
printf("%c ", vector[i]);
}
printf("\n");
return 0;
}
Warning: GDB can't find the start of the function at 0x400730.
GDB is unable to find the start of the function at 0x400730
and thus can't determine the size of that function's stack
frame. This means that GDB may be unable to access that stack
frame, or the frames below it.
This problem is most likely caused by an invalid program
counter or stack pointer. However, if you think GDB should
simply search farther back from 0x400730 for code which looks
like the beginning of a function, you can increase the range
of the search using the `set heuristic-fence-post' command.
0x004008a0 in _start
ra
中的地址有问题。 ,错误的堆栈分配或 C 和 MIPS 代码之间的错误链接,但我不知道我做错了什么。
beq t1, zero, SALIDA
,然后跳转到
SALIDA
,并完成。所以我只是粘贴那部分代码(SALIDA 在西类牙语中意味着退出:P)。
#include <mips/regdef.h>
#include <sys/syscall.h>
#define SSIZE (56)
#define O_RA (48)
#define O_FP (44)
#define O_GP (40)
#define O_S3 (36)
#define O_S2 (32)
#define O_S1 (28)
#define O_S0 (24)
#define O_ARG0 (SSIZE)
#define O_ARG1 ((SSIZE) + 4)
.text
.align 2
.globl merge_sort
.ent merge_sort
merge_sort:
.frame $fp, SSIZE, ra
.set noreorder
.cpload t9
.set reorder
subu sp,sp,SSIZE
sw s0, O_S0(sp)
sw s1, O_S1(sp)
sw s2, O_S2(sp)
sw s3, O_S3(sp)
sw gp, O_GP(sp)
sw $fp, O_FP(sp)
sw ra, O_RA(sp)
move $fp, sp
sw a0, O_ARG0($fp)
sw a1, O_ARG1($fp)
lw t0, O_ARG1($fp)
addi t1, t0, -1
beq t1, zero, SALIDA
SALIDA:
lw s0, O_S0($fp)
lw s1, O_S1($fp)
lw s2, O_S2($fp)
lw s3, O_S3($fp)
move sp, $fp
lw gp, O_GP($fp)
lw $fp, O_FP($fp)
lw ra, O_RA($fp)
addiu sp, sp, SSIZE
jr ra
.end merge_sort
最佳答案
我认为您的问题是在子程序末尾附近的以下问题:
lw $fp, O_FP($fp) // restores $fp
lw ra, O_RA($fp) // restore ra, but $fp isn't pointing to our frame anymore
关于c - MIPS32 : recursive subroutine crashes at the "jr ra" line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10406031/
我尝试应用适当的配置,以便能够通过 wildfly(以及其他环境成员)在 artemis 服务器上使用远程消息系统首先,我在本地(https://www.apache.org/dyn/closer.c
我对 $ra 返回地址的概念感到非常困惑。它是否返回 的地址?当前指令正在执行或 接下来要执行的指令 ?如需说明,请使用以下代码, Consider a code fragment that call
我正在尝试使用 PyEphem 库进行天文学,并尝试重新创建/理解其中的一些基本计算。 有一个称为分离的函数,给定两个行星和日期/时间,它可以计算这两个行星之间相对于它们在平面上的“x”投影的分离(角
在 bash(第 3 版)脚本中,我想保存传递的命令行参数,以便我可以多次迭代它们(使用 shift)并可能删除其中的一些。 据我了解,"$@"首先就像一个数组。 我的第一个冲动是写: cmdArgs
考虑以下代码: typedef std::vector cont_t; // Any container with RA-iterators typedef cont_t::const_iterato
我读过保留的寄存器是调用者保存的,非保留的寄存器是被调用者保存的。但在我看来,$ra,一个保留的寄存器,是调用者保存的,因为调用者保存了它必须返回的地址。任何人都可以解释我缺少什么吗? 最佳答案 I'
我需要能够从Xcode播放RealAudio(.RA)文件。如果我不能直接从URL播放文件,可以下载并播放就可以了。主要帮助我正在寻找他如何在iOS5.0下的Xcode 4.3中播放RealNetwo
我正在尝试在 MIPS 上重现调用堆栈,有关更多详细信息,请检查我之前的问题: How to get a call stack backtrace?(GCC,MIPS,no frame pointer
我想立即在我的 Grails 应用程序中传播用户更改(用户角色的更改)(我正在使用 Spring Security 插件)。 我发现了这个: springSecurityService.reauthe
谁能解释我在哪里可以找到Registration Authority (RA)和 Validation Authority (VA)一个网站,例如 wikipedia在 Browser喜欢 Googl
我正在按照通过 Subclipse 将 Ardor3D 安装为 Eclipse 项目集的说明进行操作;说明在: http://www.ardor3d.com/wiki/svneclipsetutori
我正在尝试使用 react-admin 作为我的管理面板,并使用 ra-data-graphql-simple 从 graphql API 获取数据。问题是它找不到我的资源,我得到了这个错误: 未知资
昨天下午突然间,从我的 Eclipse IDE 到我们的 Subversion 存储库的 subversion 连接失败了(Subversive 和 Subclipse)。 我可以通过浏览器浏览 su
我正在尝试使用 react-admin 作为我的管理面板,并使用 ra-data-graphql-simple 从 graphql API 获取数据。问题是它找不到我的资源,我得到了这个错误: 未知资
当提供 UTC 时间戳和地球上的经纬度/纬度观察者位置时,我想将天空中五个拉格朗日点 (L1 - L5) 的位置计算为 RA/DEC 或 AZ/EL。我正在研究 pyephem、pyorbital 和
我正在尝试编写一个 JCA 资源适配器。在 ra.xml 中,我为自定义属性添加了条目,例如: UserName java.lang.String 当我在 WebSphe
我正在尝试创建一个由特定区域中的对象组成的表。我正在整理 irac、2mass 和 wise 数据。我已将所有数据合并到一张表中,现在正尝试根据 RA 和 Dec 坐标消除重复数据。我的最终目标是拥有
我正在寻找一种方法来定位我的 FITS 图像上的像素坐标,这些像素坐标对应于对象的 ra 和 dec 位置(以度为单位),在过采样之后。如果我不进行过采样,这将很简单,但我需要这样做。给定一个未更改的
我刚刚发现 Ra来自 Ubuntu 存储库。有人在实际项目中使用过吗?您是否遇到过任何问题,并且通常使用 Ra 而不是 R 或 JIT 是否有任何权衡? 最佳答案 嗯,我喜欢。但后来它在 Ubuntu
我发现在RISC-V中,ra是调用者保存的,在MIPS中,ra是被调用者,这意味着在RISC-V中被调用者可以直接更改ra 没有保存,但是由于 ra 已经改变,被调用者如何返回调用者? 最佳答案 无论
我是一名优秀的程序员,十分优秀!