gpt4 book ai didi

从内存加载一侧的 C 三元条件运算符到 MIPS 程序集

转载 作者:太空宇宙 更新时间:2023-11-04 08:20:54 26 4
gpt4 key购买 nike

C语句

A= A? C[0] : B;

这样写汇编指令正确吗?假设 $t1=A, $t2=B, $s1=base 数组 C 的地址:

         beq   $t1, $0,  ELSE
lw $t1, 0($s1)
ELSE: add $t1, $t2, $0

最佳答案

不,这似乎不正确,因为即使 $t1 != $0 也会执行 add $t1, $t2, $0

我希望这可行(未测试):

         beq   $t1, $0,  ELSE
sll $0, $0, 0 # NOP : avoid the instruction after branch being executed
lw $t1, 0($s1)
j END
sll $0, $0, 0 # NOP : avoid the instruction after branch being executed
ELSE: add $t1, $t2, $0
END:

此代码假定 C 的元素每个都是 4 字节长。

关于从内存加载一侧的 C 三元条件运算符到 MIPS 程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33460189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com