簡體   English   中英

如何知道某個數字可以在 ARM 中表示為 32 位立即數?

[英]How to know that a certain number can be represented as 32 bit immediate in ARM?

給定一個數 x,我們怎么知道它可以表示為 32 位立即數。 是否存在任何類型的公式? 如果是,該公式是否詳盡無遺,即涵蓋所有可能的情況? ARM 將指令集中最右邊的 12 位分解為 4 位循環位和 8 位值位。

我會研究開源編譯器以及它們是如何做到的......

https://github.com/gcc-mirror/gcc/blob/cbca62831cb7c1c7c20d67fcf929f156b09923bf/gcc/config/arm/arm.c#L4387

/* Return TRUE if int I is a valid immediate ARM constant.  */
int
const_ok_for_arm (HOST_WIDE_INT i)
{
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM