gpt4 book ai didi

assembly - SPARC - 没有移位的位掩码

转载 作者:行者123 更新时间:2023-12-04 07:09:57 27 4
gpt4 key购买 nike

我正在学习 SPARC 程序集,我必须创建一个从寄存器中提取字段的脚本。该脚本接受 3 个值,初始编号、字段开始位置、字段长度。
它不能使用任何移位函数,但可以使用乘法和除法。
我目前患有呼吸道病毒,随后服用了大量药物。我很难弄清楚从哪里开始。
一些方向将不胜感激。

最佳答案

乘以 2 是左移,除以 2 是右移(至少对于无符号数)。

如果你想左移 2 位,那就是乘以 4。

因此,例如,如果您有二进制值:

b15              b0
v V
0000 1111 0101 1000

如果你想提取 b3 和 b2,你可以用 0xc0 和整个批次并除以 4。
0000 1111 0101 1000
0000 0000 0000 1100 <- AND with 0xc0
-------------------
0000 0000 0000 1000
-------------------
0000 0000 0000 0010 <- divide by 4

由于这听起来很像家庭作业(而且我还没有为 SPARC 编码 时间),我不会试图给你一个完整的解决方案 - 这应该足以让你开始。

关于assembly - SPARC - 没有移位的位掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/540226/

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