Solidity

Solidity shr 操作碼

  • November 9, 2021

這段程式碼是什麼意思?

sender := shr(96, calldataload(sub(calldatasize(), 20)))

順便說一句,發件人是一個地址變數。

shr(a, b)右移一位,因此在這種情況下,它將結果b右移96 位。此程式碼實質上從 calldata(aka )中獲取最後 20 個字節,並從中刪除前 12 個字節(96 位)以獲得 20 字節地址。a``calldataload``msg.data

您可以在此處找到所有 Yul(內聯彙編)函式及其功能:https ://docs.soliditylang.org/en/v0.8.9/yul.html#evm-dialect

引用自:https://ethereum.stackexchange.com/questions/113204