问题标签 [mips32]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
512 浏览

mips - 不要使用 gp 寄存器

编译器生成上面的代码

如何避免使用 gp 寄存器?

0 投票
1 回答
916 浏览

c - 从 MIPS 调用 C 时,我们使用 JR 还是 JALR?

我正在编写一些自修改代码,我想foo从 MIPS 调用一个 C 函数(调用它)。

我已将 , 的 mem addfoo加载&foo$t1. 现在我jr/jalr $t1

将 C 设置$ra为我当前的 PC(+8)(在跳转之前)允许我使用JR还是我必须JALR改为使用(即,照顾它,因为 C 不会)?

我现在无法测试这个,因为我正在调试我的宏(用于 MIPS 助记符)。我一定搞砸了,因为我不断收到非法指令错误。

0 投票
1 回答
601 浏览

assembly - MIPS 执行的指令总数

我有这个代码:

问题是执行的指令总数是多少。

假设 s0=0

我认为是当 t2 == s0 t2 对于任何 t1<100 和 s0 在每个循环中递增 4 为 1 时循环终止。那么这会使循环无限吗?

0 投票
2 回答
6734 浏览

mips - 在 MIPS 中使用跳转表(如何在 JT 数组中跳转标签)

我正在尝试使用跳转表为我的工作制作菜单。Everyting 对我来说看起来不错,但下面的代码不起作用。在“jr $s0”指令之后,火星给了我一个错误,比如:

Error in : invalid program counter value: 268501840

我知道十进制地址268501840是 L1 标签的实际地址,而代码应该去那个标签,但那时我犯了这个错误。为什么?

0 投票
1 回答
2467 浏览

assembly - MIPS 汇编中的 GCD

我无法让此代码 100% 正确工作。如果用户输入一个较大的数字作为第一个数字,那么程序会给出正确的最大公分母。

但是,如果首先输入较小的数字,则将较小的数字作为 GCD 返回。

我一直试图弄清楚这几个小时无济于事。请有人帮忙!!

0 投票
1 回答
1230 浏览

loops - 带有循环的汇编代码中的指令计数

我有一段(汇编)代码,我想在其中计算动态指令的数量

我认为循环中的指令执行了 100 次。所以我猜代码中动态指令的数量是 102。但我不确定我们是否也将分支指令视为动态指令?在那种情况下,我不应该有双指令计数吗?提前感谢任何愿意提供帮助的人。

0 投票
2 回答
4089 浏览

mips - 使用 mars 工具访问 mips 中的文件

我正在尝试使用 mips 指令对文件进行一些访问。
我想逐行读取文件,而不是一次读取所有文件,因此此代码(1)不起作用。

我也想写入文件而不是覆盖!
谁能帮我?

代码:

打开要写入的文件

从文件中读取

关闭文件

0 投票
1 回答
810 浏览

assembly - In which hazard does cache miss fall into?

There are three types of hazard in the five stage of pipeline:-

1) Control hazard : - if/jump

2) Data hazard :- RAW(read after write), WAR ( write after read), WAW (write after write)

3) structural hazard :- Structural hazards are when two instructions might attempt to use the same resources at the same time ( as in wiki)

which type of hazard does cache miss fall into?

0 投票
2 回答
958 浏览

mips - 有什么方法可以直接在 MIPS 中访问物理地址 0x8000 0000 吗?

我想0x8000 0000直接在 MIPS 32 位架构中访问内存位置,而不使用TLBand MMU

在 MIPS32 中,kseg0是未映射和缓存的内存,是低 512MB 物理内存的窗口。因此,通过使用这个段,我们可以访问多达 512 MB 的物理内存。但我想访问0x8000 0000(最多 2GB)的物理内存。

有什么方法可以在不使用 MIPS32的情况下访问内存位置0x8000 0000(2 GB 的物理内存) ?MMUTLB

0 投票
1 回答
1105 浏览

assembly - mips 时钟周期数以及如何改进代码

我真的是 MIPS 的新手,我有这些问题,我为他们找到了很多不同的答案……如果有人可以提供帮助,那就太好了。谢谢

这段代码需要多少个时钟周期?

这 4 行代码如何显着改进?通过避免使用宏或...?