比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

詳解Cairo指令-ODAILY_OFF

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轉換邏輯

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

安全團隊:被標記為孫宇晨的地址從Aave撤回5000萬枚BUSD:10月21日消息,據派盾(PeckShield)監測,被標記為孫宇晨的地址從Aave V2中撤回5000萬枚BUSD,此外該地址還向Paxos Treasury相關地址轉入7000萬枚BUSD。[2022/10/21 16:33:47]

2.2指令校驗

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

過去一周Circle USDC流通量減少5億美元:金色財經報道,據Circle官網,10月6日至10月13日期間,Circle共發行21億美元USDC,贖回26美元USDC,USDC流通量減少5億美元。截至10月13日,USDC總流通量為457億美元,儲備量為458億美元,其中現金101億美元,短期美國國債357億美元。[2022/10/16 14:29:23]

3.指令示例

3.1斷言相等

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

<left_handle_op>=<right_handle_op>

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

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

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

Robinhood漲超15% Q2凈虧損大幅收窄:8月3日消息,周三美股盤初,截至發稿,Robinhood(HOOD.US)漲12.03%,報10.65美元。Robinhood周二公布的財報顯示,該公司Q2凈營收為3.18億美元,同比下滑44%、環比增長6%,低于市場預期的3.212億美元;凈虧損為2.95億美元,較上年同期的凈虧損5.02億美元收窄41%、較Q1的凈虧損3.92億美元收窄25%。[2022/8/3 2:57:17]

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

解釋指令=5:

?為assert指令=>opcode=4

?next_ap=ap=>ap_update=00=0

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

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

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

新加坡金管局“積極審查”穩定幣監管措施:8月1日消息,新加坡金管局“積極審查”穩定幣監管措施。(金十)[2022/8/2 2:51:54]

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

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

?等式左邊=>off_dst=1

?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>!

圖靈獎獲得者邁克爾·斯通布雷克:元宇宙落地尚早:金色財經報道,2014年圖靈獎獲得者、全球知名數據庫專家邁克爾·斯通布雷克在第八屆中國國際大數據產業博覽會上發表題為《如何從數據資產中獲得最大價值》的主旨演講,他認為,“數字經濟”有多層含義,里面不乏數字貨幣、數字化B-to-B供應鏈、數字服務、數字購物等“元素”,但表示“元宇宙落地尚早”,當下的“元宇宙”還只停留在概念階段,大多數時候被社交媒體和游戲廠商當做營銷口號、吸睛噱頭,這樣似是而非的“元宇宙”,只會讓該項技術落地變得越來越復雜。[2022/6/1 3:54:35]

圖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:RESOFFDSTNEXFresco NetworkBitcoffeenDSTR幣Nexum

抹茶交易所
Web3是游戲的未來?手游大廠Com2uS是這樣說的-ODAILY_區塊鏈

注:本文摘自手游大廠Com2uS的總裁KyuLee在2022年韓國區塊鏈周上的演講。大家有玩過Com2uS的游戲嗎?Com2uS從1998年創立之初就開始制作手機游戲,是首批手機游戲公司之一,現.

1900/1/1 0:00:00
Solana推出區塊鏈手機Saga,覆蓋范圍擴大到主流受眾 -ODAILY_SOLA

Solana今日稍早正式宣告將推出以Web3為核心的Android手機「Saga」,將包含:Web3dapp商店、SolanaPay、seedvault…等功能,目前已開放預購.

1900/1/1 0:00:00
2022波場黑客松大賽第二季強勢回歸-ODAILY_RON

TRONDAO攜手BitTorrentChain共同舉辦的2022波場黑客松大賽第二季強勢回歸,報名通道于5月16日開啟.

1900/1/1 0:00:00
JustLend DAO存借規模突破53億美金-ODAILY_JUS

據官方數據,JustLendDAO存借規模現已突破53億美金。其中,存款規模超45.19億美金,借款規模超8.37億美金.

1900/1/1 0:00:00
孫宇晨:長期來看加密貨幣將震蕩向上-ODAILY_TIN

8月11日晚8點,格林納達常駐世界貿易組織代表、特命全權大使、波場TRON創始人孫宇晨先生閣下在BinanceLive平臺,就“創業十年.

1900/1/1 0:00:00
JustLend DAO成功通過CertiK的安全審計-ODAILY_UST

據最新消息,JustLendDAO已成功通過區塊鏈安全公司CertiK的安全審計。 波場TRON網絡上的首個官方借貸項目JustLend將于今晚20:30正式上線:據最新消息,波場TRON網絡上.

1900/1/1 0:00:00
ads