1.指令結構
CairoCPU原生支持的word是一個域元素,而這個域是特征值大于P?>2^63。每個指令會占用1到2個word,如果指令后面跟著立即值(="12345678")則該指令占用2個word,并且值存在第二個word里。每個指令的第一個word由以下元素組成:
2.狀態轉換
狀態轉換函數代表了一個通用的狀態轉換單元,而一個計算通常會分解成多個連續執行的指令,因此我們需要:
a.?確保指令的內容,以及指令執行前后的狀態的有效性
b.確保執行的指令是一個有效的指令
2.1轉換邏輯
如果指令執行前后的狀態是一致的,那么其狀態的更新一定是按照以下邏輯執行:
SHIB周六上漲13%,創4個月新高:金色財經報道,Shiba inu將最近的漲幅延續到周末,升至四個月以來的最高點。Shiba inu(SHIB)連續第二個交易日成為市場上漲幅最大的品種之一,在本周六的價格上漲了13%。SHIB/USD周六升至0.00001457美元的高位,這是自10月29日以來的最高點。行情波動較大,請做好風險控制。[2023/2/5 11:47:44]
2.2指令校驗
如圖1所示,?個指令由以下元素組成:
報告:歐洲必須對數字商業模式更具吸引力才能增強歐洲競爭力:金色財經報道,支付服務領域領導者Worldline參與了題為“Tokenise Europe 2025:Initiative aims to drive tokenisation”的報告的編寫。報告顯示,歐洲必須對數字商業模式更具吸引力才能增強歐洲競爭力。成功的代幣經濟有可能在許多行業創造新的服務和商業模式。然而,代幣化對歐洲的重要性,即將實物資產(數字或其他)轉移到區塊鏈,通常被低估了。
由于分布式賬本(如區塊鏈)技術的突破,代幣化已在許多領域得到普及,可以涵蓋許多用例,例如使用數字汽車錢包、穩定幣或未來的數字歐元進行支付,創建數字孿生體和數字 ID,確保 M2M 安全溝通。[2023/1/24 11:28:21]
3.指令示例
3.1斷言相等
斷言相等指令可以用下述語法表示:
<left_handle_op>=<right_handle_op>
它確保了公式兩邊是相等的,否則程序的執行將會被返回。
Note2:除法和減法可以分別表示為具有不同操作數順序的乘法和加法。?
0x5f2c開頭地址在Binance官宣上架RPL前后20分鐘內獲利5.54萬美元:1月18日消息,據0xScope監測數據顯示,以0x5f2c開頭地址在Binance官宣上線RPL前10分鐘買入近6200枚RPL,并在Binance發布公告后10分鐘賣出,20分鐘內盈利約5.54萬美元。[2023/1/18 11:18:45]
assert指令可以被認為是一條賦值指令,其中?邊是已知的,另一邊是未知的。例如=4可以被認為是斷言的??值為4,或者根據上下文將賦值為4。
圖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?
韓國互聯網巨頭Naver旗下元宇宙部門與泰國電信集團True合作開發元宇宙生態:9月4日消息,韓國互聯網巨頭Naver旗下元宇宙部門NaverZ已與True簽署了一份諒解備忘錄,以合作開發元宇宙平臺Zepeto上的生態。True首席媒體和內容官表示,未來將在Zepeto上建立符合泰國人生活方式的元宇宙體驗。(Tech in Asia)[2022/9/4 13:07:12]
?立即數地址指令地址相鄰=>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>
ENVELOP發布使用Envelop協議和封裝技術的SAFT服務:5月22日消息,ENVELOP 發布使用 Envelop 協議和封裝技術的 Save Automated Future Token 服務,借助 SAFT wNFT,社區和 VC 可以最有效地管理所有籌款活動,并且成本為零。
據悉,WrappedNFT 是動態的,包括根據歸屬條款定義解鎖日期的項目 Token。這可以保護初創公司免受 Token 傾銷,并允許 VC 在選擇在解鎖日期之前以盈利方式出售時立即擁有流動性。為了增加交易價值,wNFT 可以作為藝術品、游戲物品或與項目相關的任何其他用例提供給持有者。wNFT 可以在 scotch.sale 上出售,支持屬性過濾,對買賣雙方可見。[2022/5/22 3:33:46]
#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,所以填充默認值
參考
SpecificationforCairo:https://arxiv.org/pdf/2109.14534.pdf
關于我們
Sin7y成立于2021年,由頂尖的區塊鏈開發者和密碼學工程師組成。我們既是項目孵化器也是區塊鏈技術研究團隊,探索EVM、Layer2、跨鏈、隱私計算、自主支付解決方案等最重要和最前沿的技術。
微信公眾號:Sin7y
GitHub:Sin7y
Twitter:@Sin7y_Labs
Medium:Sin7y
Mirror:Sin7y
HackMD:Sin7y
HackerNoon:Sin7y
Email:contact@sin7y.org
來源:金色財經
短期來看,宏觀環境、利率、市場流動性和敘事都會影響資產的價格。如果美國的通脹沒有見頂,美聯儲繼續收緊貨幣政策,我們很可能會看到更低的ETH價格。然而,資產的價格最終是由供應和需求的關系決定的.
1900/1/1 0:00:00近年以來,“元宇宙”和“區塊鏈”投資市場異常火爆。國內眾多城市推出相應的元宇宙發展政策及規劃,各地的元宇宙特色產業園區也在緊鑼密鼓地建設和規劃中.
1900/1/1 0:00:002x2=5 很明顯,這是錯誤的數學題。當我看到UniswapV3用戶界面上顯示的流動性和TVL的數據完全錯誤時,我的感受和看到2x2=5的感受是一樣的.
1900/1/1 0:00:00四小時級別中,目前站穩1320上方,接下來可著重關注是否能夠企穩此點位,並依託此點位蓄勢反彈,技術指標中,布林通道空頭排列向上,低點上移,由此可見追空交易量並不多,綜合前期走勢做參考.
1900/1/1 0:00:00加密市場熊市已經很長時間了,市場缺少亮點。 BDD帶來了福音! 來自美國硅谷的天才程序員們,開發了新的共贏模式,這就是BDD!徐工集團NFT將于5月13日在以太坊主網正式發售:5月12日消息,徐.
1900/1/1 0:00:00STARS是區塊鏈的秘密你需要知道的一切↓我們首先解釋一下STARS是什么?Stargaze是第一個去中心化、社區擁有的NFT第1層鏈和市場.
1900/1/1 0:00:00