綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[教程] Smail語法(2)指令解析

[複製連結] 查看: 1893|回覆: 0|好評: 0
跳轉到指定樓層
樓主
fam1001 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2016-3-28 13:39

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
【重點】歸總了一些簡單的Smail指令。
  1. 1.If語句
  2.     if-nez v0,:cond_0    如果結果不為0,就跳轉到cond_0標號處
  3.     if-eqz v0,:cond_1    如果結果為0,就跳轉到cond_1標號處
  4.    
  5. 2.資料操作指令

  6.     move v0,v1    將v1的值賦給v0 ,兩個寄存器都為4位
  7.    
  8.     move-result v0    將上一個invoke類型指令操作的單字非對像結果賦給v0
  9.     move-result-object v0    將上一個invoke類型指令操作的對象結果(返回值)賦給v0
  10.    
  11. 3.返回指令

  12.     return-void
  13.     return v0
  14.     return-object v0
  15.    
  16. 4.實例操作指令

  17.     check-cast v1, Landroid/widget/TextView;  將v1寄存器中的對象引用轉化成指定的類型(這裡是 TextView)
  18.     new-instance v1, Ljava/lang/StringBuilder; 構造一個指定類型對象的新實例
  19.    
  20. 5.數組操作指令

  21.     new-array v0,v0,[I  構造Int類型,大小是v0的數組,並將值賦給v0寄存器
  22.     array-length v1,v0  獲取v0數組的長度且將值賦給v1
  23.    
  24. 6.異常指令

  25.     throw vAA 拋出vAA寄存器中指定類型的異常
  26.    
  27. 7.跳轉指令

  28.     1,goto :goto_0  偏移量goto_0不能為0
  29.     2,If語句
  30.     3,switch   
  31.         packed-switch v0, :pswitch_data_0  v0是switch需要判斷的值     :pswitch_data_0 偏移表,表中值是有規律遞增的。
  32.         sparse-switch v0, :pswitch_data_0  偏移表中值是無規律的。

  33. 8,比較指令

  34.     cmpl-float v0,v2,v3     比較v2和v3,如果v2>v3,v0=-1;反之,v0=1;相等,v0=0
  35.     cmpg-float v0,v2,v3  比較v2和v3,如果v2>v3,v0=1;反之,v0=-1;相等,v0=0
  36.     cmpl-double v0,v2,v3  同理
  37.     cmpg-double v0,v2,v3  同理
  38.     cmp-long v0,v2,v3    比較v2和v3,如果v2>v3,v0=1;反之,v0=-1;相等,v0=0
複製代碼
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 3碎鑽 +1 幫助 +3 收起 理由
Jabbar + 1 + 1 非常讃
lmywing + 1 好內容。朕有賞,還不謝主隆恩.
球-球 + 1 好內容,老衲來為這篇文章開開光.

查看全部評分

收藏收藏2 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則