比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > DOGE > Info

RES:詳解Cairo指令-ODAILY

Author:

Time:1900/1/1 0:00:00

1.指令結構

CairoCPU原生支持的word是一個域元素,而這個域是特征值大于P>2^63。每個指令會占用1到2個word,如果指令后面跟著立即值(="12345678")則該指令占用2個word,并且值存在第二個word里。每個指令的第一個word由以下元素組成:

2.狀態轉換

狀態轉換函數代表了一個通用的狀態轉換單元,而一個計算通常會分解成多個連續執行的指令,因此我們需要:

a.確保指令的內容,以及指令執行前后的狀態的有效性

b.確保執行的指令是一個有效的指令

2.1轉換邏輯

如果指令執行前后的狀態是一致的,那么其狀態的更新一定是按照以下邏輯執行:

Azuki創始人:Elementals會顯現出區別于Azuki的獨特品質:7月10日消息,Azuki創始人ZAGABOND.ETH再次發推談及了Azuki原始系列與Elementals系列之間的區別。ZAGABOND.ETH表示,根據原始系列來開發Elementals的traits具有一定的挑戰性,但在我們看來,在尊重原始設計的同時引入新的內容也很重要。乍一看,這兩個系列可能看起來有些相似,但隨著我們對Elementals系列的深入挖掘,我有充分的信心,它的獨特品質將會顯現而出。請記住,藝術只是token的外包裝。[2023/7/10 10:45:33]

DeFi Hub項目Nibiru Chain宣布其激勵測試網NIT第三階段已上線:5月28日消息,社區驅動的DeFi Hub項目Nibiru Chain近日宣布,其激勵測試網NIT第三階段已經上線,用戶參與Perps、Spot AMM等相關任務可獲得ATOM作為獎勵。

此前消息,Nibiru Chain以1億美元估值完成850萬美元種子輪融資。

今年夏天,Nibiru計劃推出其部分算法穩定幣NUSDC以及測試網。NUSD將由USDC和NIBI抵押,NIBI是Nibiru的原生代幣,用于質押、效用和治理。[2023/5/28 9:47:25]

2.2指令校驗

如圖1所示,?個指令由以下元素組成:

3.指令示例

3.1斷言相等

斷言相等指令可以用下述語法表示:

<left_handle_op>=<right_handle_op>

SUI下跌觸及1.052美元,15分鐘內跌超6%:金色財經報道,據行情數據顯示,Sui(SUI)下跌觸及 1.052 美元,現報價 1.076 美元,15 分鐘內最大跌幅 6.29%。[2023/5/22 15:17:27]

它確保了公式兩邊是相等的,否則程序的執行將會被返回。

Note2:除法和減法可以分別表示為具有不同操作數順序的乘法和加法。

assert指令可以被認為是一條賦值指令,其中?邊是已知的,另一邊是未知的。例如=4可以被認為是斷言的值為4,或者根據上下文將賦值為4。

圖4給出了斷言相等指令的一些示例,以及每個指令對應的標志值:

解釋指令=5:

?為assert指令=>opcode=4

?next_ap=ap=>ap_update=00=0

Tornado Cash已存入近350萬枚ETH,總交易費用收入超1800萬美元:8月9日消息,據Dune Analytics數據顯示,以太坊混幣平臺TornadoCash平臺上已存入的ETH數據接近350萬枚,截至目前為3,489,693枚,總交易費用收入達到18,104,516美元。此外,當前Tornado Cash獨立用戶量為 12,243 個。

此前報道,美國財政部海外資產控制辦公室(OFAC)將 Tornado Cash 納入制裁名單(SDN)中,包括其網站本身以及多個以太坊錢包地址,禁止所有美國個人和實體與 Tornado Cash 或與協議相關的任何以太坊錢包地址進行交互。[2022/8/9 12:11:28]

?next_pc=pc+instruction_size=>pc_update=000=0

?op0和op1沒有addormul=>res_logic(res)=00=0

?存在立即數=>op1_src(op1)=001=1

?立即數地址指令地址相鄰=>off_op1=1

?等式左邊=>dst_reg(dst)=1

?等式左邊=>off_dst=1

Solend社區新提案提議撤銷此前接管巨鯨賬戶的提案并增加投票時間:6月20日消息,Solana生態借貸協議Solend發布新提案SLND2,內容包括:使提案SLND1無效;將治理投票時間增加至1天;制定一項新提案,該提案不涉及緊急接管賬戶的權力。

此前消息,Solend敦促某個巨鯨(3oSE開頭地址)盡快償還貸款,以避免清算風險。昨日晚間消息,Solend社區對巨鯨制定特殊保證金要求并可臨時接管鯨魚賬戶的治理提案SLND1已獲得通過。[2022/6/20 4:39:39]

?op0_reg/off_op0=>initalvalue(1/-1)//因為這個指令用不到這些flags,所以填充默認值

3.2條件和非條件跳轉

jmp指令允許更改程序計數器pc的值。

Cairo支持相對跳轉和絕對跳轉-分別用關鍵字rel和abs表示;jmp指令或許是有條件的,比如當某個內存單元的值不為0時,觸發jmp指令。

指令的語法如下所示:

#Unconditionaljumps.

jmpabs<adress>

jmprel<offset>

#Conditionaljumps.

jmprel<offset>if<op>!

圖5給出了jmp指令的一些示例,以及每個指令對應的標志值:

解釋指令jmprel+:

?為jmp指令=>opcode=0

?next_ap=ap=>ap_update=b00=0

?next_pc=pc+res=>pc_update=b010=2

?res=op0+op1=>res_logic(res)=b01=1

?op1:=>op1_src(op1)=b010=2

?op1:=>off_op1=-7

?op0:=>op0_src(op0)=0

?op0:=>off_op0=1

?dst_reg/off_dst=>initalvalue(1/-1)///因為這個指令用不到這些flags,所以填充默認值

3.3call和ret

call和ret指令允許實現函數堆棧。call指令更新程序計數器(pc)和幀指針(fp)寄存器。程序計數器的更新類似于jmp指令。之前fp的值被寫入,以允許ret指令將fp的值重置為調用之前的值;類似地,返回的pc(調用指令后面指令的地址)被寫到,以允許ret指令跳回并繼續執行調用指令后面的代碼的執行。由于寫入了兩個存儲單元,ap向前進了2,fp被設置為新的ap。

指令的語法如下:

callret<adress>

callrel<offset>

ret

圖6給出了call和ret指令的一些示例,以及每個指令對應的標志值:

解釋指令callabs:

?為call指令=>opcode=0

?next_ap=ap=>ap_update=b00=0

?next_pc=res=>pc_update=b001=1

?res=op1=>res_logic(res)=b00=0

?op1:=>op1_src(op1)=b010=2

?op1:=>off_op1=4

?op0_reg/off_op0=>initalvalue(0/1)///因為這個指令用不到這些flags,所以填充默認值

?dst_reg/off_dst=>initalvalue(0/0)///因為這個指令用不到這些flags,所以填充默認值

3.4高級ap

指令ap+=<op>通過給定的操作數增加ap的值。

圖7給出了高級ap指令的一些示,以及每個指令對應的標志:

解釋指令ap+=123:

?為advancingap指令=>opcode=0

?next_ap=ap+res=>ap_update=b01=1

?next_pc=pc+instruction_size=>pc_update=b000=0

?res=op1=>res_logic(res)=b00=0

?op1=123=>op1_src(op1)=b001=1

?op1=123=>off_op1=1

?op0_reg/off_op0=>initalvalue(1/-1)///因為這個指令用不到這些flags,所以填充默認值

?dst_reg/off_dst=>initalvalue(1/-1)///因為這個指令用不到這些flags,所以填充默認值

關于我們

Sin7y成立于2021年,由頂尖的區塊鏈開發者組成。我們既是項目孵化器也是區塊鏈技術研究團隊,探索EVM、Layer2、跨鏈、隱私計算、自主支付解決方案等最重要和最前沿的技術。

微信公眾號:Sin7Y

GitHub|Twitter|Telegram|Medium|Mirror|HackMD|HackerNoon

Tags:RESOFFTALDSTAstra Guild VenturesOffshiftBlockPortalDST價格

DOGE
PRI:PrimeXBT已支持TRC20-USDT和TRC20-USDC-ODAILY

據官方消息,交易平臺PrimeXBT現已支持TRC20-USDT和TRC20-USDC。 支付科技公司Primer以4.25億美元估值完成5000萬美元B輪融資:10月19日消息,英國支付科技公.

1900/1/1 0:00:00
DAO:DAOrayaki:簽名在數字資產和加密貨幣中的作用-ODAILY

可能你正在閱讀本文的時,所使用的瀏覽器和內容終端之間的通信保密也正在運行中,這一過程得益于核心密碼原語實現的身份驗證.

1900/1/1 0:00:00
NFT:JZL Capital區塊鏈行業周報第34期:粉絲代幣瘋漲,納指承壓下跌-ODAILY

本周概覽 -納斯達克和標普500指數都因技術調整而結束了4周的連續上漲,8月的最后一周會發生什么?-以太坊"合并"在即,人們正在PoS和PoW之間選擇立場.

1900/1/1 0:00:00
RON:波場TRON交易總數突破37億-ODAILY

8月13日,據區塊鏈瀏覽器TRONSCAN數據,波場TRON交易總數達到3,702,874,112,正式突破37億.

1900/1/1 0:00:00
CRY:Cryptolaxy發布“基于DPoS共識算法構建的TOP11項目”榜單,波場TRON高居第一-ODAILY

據Cryptolaxy最新發布的“基于DPoS共識算法構建的TOP11項目”榜單,波場TRON高居第一。榜單數據顯示,截至9月18日,TRX市值為57.6億美元,遠高于其他項目.

1900/1/1 0:00:00
NFT:C羅、梅西入駐NFT市場,卡塔爾世界杯進入Web3時代-ODAILY

隨著世界杯的臨近,足球傳奇克里斯蒂亞諾·羅納爾多和萊昂內爾·梅西開始接觸NFT市場。2022年卡塔爾世界杯近在眼前,這一屆的世界杯,Web3將賽事和虛擬世界結合在一起.

1900/1/1 0:00:00
ads