加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > FIL > Info

詳解Cairo指令-ODAILY_OFF:RES

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

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

Lido節點運營商Certus One近兩日已累計將400萬枚LDO轉入Binance:7月16日消息,據余燼監測,Lido節點運營商和投資方Certus One兩個小時前將200萬枚LDO(約460萬美元)轉入Binance,近兩日已累計轉入400萬枚,此前Certus One于7月14日凌晨向Binance存入1,999,900枚LDO。[2023/7/16 10:58:06]

2.2指令校驗

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

Base:將在紀念NFT上完善藝術品,講述建造者的故事:2月28日消息,Layer2網絡Base發文稱,其愿景是將超過10億人帶到鏈上;接下來的5天里,將在“Base, Introduced”NFT上完善藝術品,講述Base建造者的故事;從今天開始到3月6日,每天中午12點可以查看NFT的最新進展。[2023/3/1 12:35:02]

3.指令示例

3.1斷言相等

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

<left_handle_op>=<right_handle_op>

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

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

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

Ether Capital CEO:現實世界資產的 \"代幣化時代 \"即將到來:金色財經報道,Ether Capital首席執行官Brian Mossoff表示,無論遇到什么挫折,開發者必須在代碼準備好的時候交付代碼,而不是在投資者出于利潤驅動的動機而要求交付代碼。未來是一個 \"代幣化的時代\",現實世界的資產開始出現在Uniswap等市場上。有很多理由看好以太坊正在發生的事情,即使你現在還不能解除你的ETH抵押。[2023/1/20 11:22:03]

圖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

比特幣全網未確認交易數量為9006筆:金色財經報道,BTC.com數據顯示,目前比特幣全網未確認交易數量為9006筆,全網算力為264.02 EH/s,24小時交易速率為3.02交易/s,目前全網難度為34.09 T,預測下次難度上調9.10%至37.20 T,距離調整還剩6天9小時。[2023/1/10 11:03:25]

?立即數地址指令地址相鄰=>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>

Galaxy將以6500萬美元收購比特幣礦企Argo的Helios設施,并向其提供3500萬美元貸款:12月28日消息,比特幣礦企 Argo Blockchain 同意向 Galaxy Digital 以 6500 萬美元價格出售其位于德州的 Helios 采礦設施,以避免破產。同時,Argo Blockchain 還將獲得 Galaxy Digital 提供的 3500 萬美元救助貸款,該筆貸款以前者的采礦設備為擔保。

此前報道,12 月 13 日,Argo Blockchain 向倫敦證券交易平臺提交文件,稱正在就出售其部分資產并進行設備融資交易進行高級談判,以加強其資產負債表并提高流動性。[2022/12/28 22:12:25]

#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:OFFRESTALITACOFFE Multichainceres幣價格Crystal Of Dragonsaitama幣會繼續銷毀嗎

FIL
全球領先的區塊鏈旅游服務平臺Travala.com新增USDD為支付方式-ODAILY_USD:USD

據官方消息,Travala.com現已新增去中心化超抵押穩定幣USDD作為支付方式,用戶可通過USDD支付旅游訂單.

1900/1/1 0:00:00
頂峰學院:詳解數字資產中的杠桿代幣-ODAILY_BTC:200BTC是什么意思

什么是杠桿代幣? 杠桿代幣是指通過運用合約等金融衍生工具,跟蹤“復制”相關標的資產的價格表現,并將其放大一定倍數的基金產品。換句話說,杠桿代幣就是追蹤并放大數倍普通數字資產收益率表現.

1900/1/1 0:00:00
攻擊事件不斷,跨鏈橋項目何以對應?-ODAILY_CHA:blockchain官方網站登錄不了

Chainalysis發布的數據顯示,單單2022年跨鏈橋掠奪事件所帶來的損失就多達20億美元。跨鏈橋安全問題層出不窮,每一次的攻擊事件,都引發了行業的關注.

1900/1/1 0:00:00
波卡發展的另一種展望:DApp專用平行鏈-ODAILY_APP:dappradar幣最新消息

Polkadot生態研究院出品,必屬精品 背景 幾周前因為知名媒體的一篇《300萬人的第一雙“虛擬鞋”》,StepN徹底在國內互聯網圈火了一把,甚至引來了知名媒體大V劉潤老師的撰文.

1900/1/1 0:00:00
機構將放棄嚴重脫錨的stETH交易池? -ODAILY_ETH:steth幣今日價格

今天來聊聊StETH/ETH的事情,也就是交易對流動性即將耗盡。顧名思義,stETH是ETH上的質押版本,其目的就是為了保護合并后的ETH安全.

1900/1/1 0:00:00
Yuga Labs大舉擴張,“猿”宇宙已經不遠了?-ODAILY_LABS:STFU Labs

無聊猿母公司YugaLabs最近動作不斷,先是宣布收購CryptoPunks和Meebits,緊接著推出代幣ApeCoin并進行空投.

1900/1/1 0:00:00
ads