返回列表 发新帖

【基础教程】小白的一些知识语法(黑色背景更加)

    [复制链接]

11

主题

1740

回帖

5965

积分

硕士生

Rank: 6Rank: 6

金币
3850
好评
13
信誉
103

2019-5.1节快乐考神MT论坛活跃会员MT论坛帅哥MT论坛最佳新人

发表于 2019-10-31 03:03:11 来自手机  | 显示全部楼层 | 阅读模式  来自 广东
本帖最后由 Forget 于 2020-3-20 16:33 编辑



小白 的成长一些知识,希望对您有帮助我就不一一回复啦,有用就记得收藏点赞 没用就看看也没事毕竟我也是 小白有什么问题下方留言(有问题我也不知道的小白
Smali基本语法
.field private isFlag:z  定义变量

.method  方法

.parameter  方法参数

.prologue  方法开始

.line 12  此方法位于第12行

invoke-super  调用父函数

const/high16  v0, 0x7fo3  把0x7fo3赋值给v0

invoke-direct  调用函数

return-void  函数返回void

.end method  函数结束

new-instance  创建实例

iput-object  对象赋值

iget-object  调用对象

invoke-static  调用静态函数


============

条件跳转分支:

"if-eq vA, vB, :cond_**"   如果vA等于vB则跳转到:cond_**
"if-ne vA, vB, :cond_**"   如果vA不等于vB则跳转到:cond_**
"if-lt vA, vB, :cond_**"    如果vA小于vB则跳转到:cond_**
"if-ge vA, vB, :cond_**"   如果vA大于等于vB则跳转到:cond_**
"if-gt vA, vB, :cond_**"   如果vA大于vB则跳转到:cond_**
"if-le vA, vB, :cond_**"    如果vA小于等于vB则跳转到:cond_**
"if-eqz vA, :cond_**"   如果vA等于0则跳转到:cond_**
"if-nez vA, :cond_**"   如果vA不等于0则跳转到:cond_**
"if-ltz vA, :cond_**"    如果vA小于0则跳转到:cond_**
"if-gez vA, :cond_**"   如果vA大于等于0则跳转到:cond_**
"if-gtz vA, :cond_**"   如果vA大于0则跳转到:cond_**
"if-lez vA, :cond_**"    如果vA小于等于0则跳转到:cond_**

=============

if函数的java代码:

private boolean ifSense(){
        boolean tempFlag = ((3-2)==1)? true : false;
        if (tempFlag) {
            return true;
        }else{
            return false;
        }
    }
if函数分析:


.method private ifSense()Z
    .locals 2

    .prologue
    .line 22
    const/4 v0, 0x1     // v0赋值为1

    .line 24
    .local v0, tempFlag:Z
    if-eqz v0, :cond_0            // 判断v0是否等于0, 不符合条件向下走, 符合条件执行cond_0分支

    .line 25
    const/4 v1, 0x1            // 符合条件分支

    .line 27
    :goto_0
    return v1

    :cond_0
    const/4 v1, 0x0            // cond_0分支

    goto :goto_0
.end method

###文字描述:如果符合if分支则程序往下走,最终return ; 而如果条件不符合则会走到 :cond_0分支 , 最终执行 goto :goto_0走回 :goto_0返回




============

for函数java代码:

private void forSense(){
    listStr = new ArrayList<String>(COUNT);
    for (int i = 0; i < COUNT; i++) {
        listStr.add("现在轮到我上场乐");
    }
}


for函数分析:


.line 40
    const/4 v0, 0x0

    .local v0, i:I
    :goto_0
    if-lt v0, v3, :cond_0            //  if-lt判断数值v0小于v3 ,    如不符合往下走, 符合执行分支 :cond_0

    .line 43
    return-void

    .line 41
    :cond_0                // 标签
    iget-object v1, p0, Lcom/example/smalidemo/MainActivity;->listStr:Ljava/util/List;                // 引用对象

    const-string v2, "\u73b0\u5728\u8f6e\u5230\u6211\u4e0a\u573a\u4e50"

    invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z        // List是接口, 所以执行接口方法add

    .line 40
    add-int/lit8 v0, v0, 0x1    // 将第二个v0寄存器中的值,加上0x1的值放入第一个寄存器中, 实现自增长

    goto :goto_0                // 回去:goto_0标签
已有12人评分好评 金币 理由
丨小白丨 + 1 很给力!
李学艳 + 1
恻隐 + 1 楼主辛苦了
犯夫子 + 1 + 1 赞一个!
xxy12 + 1
vipadmin + 1
SJJG + 1 赞一个!
浮道 + 1
userr + 1
白蛇吐信 + 1
摸石头过河 + 1 赞一个!
dyliloveyou + 1 赞一个!

查看全部评分 总评分:好评 +8  金币 +5 

回复

使用道具 举报

0

主题

203

回帖

767

积分

初中生

Rank: 3Rank: 3

金币
218
好评
0
信誉
100
发表于 2019-10-31 03:05:55 来自手机  | 显示全部楼层  来自 广西
๑•́₃•̀2伐开心
回复

使用道具 举报

104

主题

2万

回帖

4万

积分

博士后

Rank: 8Rank: 8

金币
1411
好评
51
信誉
101

考神MT论坛帅哥MT论坛最佳新人MT论坛活跃会员MT论坛侠客MT论坛灌水老大MT论坛新人

发表于 2019-10-31 03:34:32 | 显示全部楼层  来自 陕西
回复看看   
回复

使用道具 举报

12

主题

901

回帖

3471

积分

大学生

Rank: 5Rank: 5

金币
1174
好评
0
信誉
100
发表于 2019-10-31 04:25:30 来自手机  | 显示全部楼层  来自 广东
过来看看
回复

使用道具 举报

5

主题

1万

回帖

3万

积分

博士后

萌新

Rank: 8Rank: 8

金币
3415
好评
51
信誉
101

考神MT论坛最佳新人MT论坛帅哥MT论坛新人MT论坛活跃会员

发表于 2019-10-31 04:32:04 来自手机  | 显示全部楼层  来自 广东
回复看看
回复

使用道具 举报

38

主题

7586

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
13891
好评
1
信誉
100
发表于 2019-10-31 04:51:58 来自手机  | 显示全部楼层  来自 山西
回复看隐藏
回复

使用道具 举报

1

主题

6307

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
7982
好评
2
信誉
100
发表于 2019-10-31 05:13:41 来自手机  | 显示全部楼层  来自 河南
看看隐藏
回复

使用道具 举报

0

主题

294

回帖

931

积分

高中生

Rank: 4

金币
506
好评
0
信誉
100
发表于 2019-10-31 05:16:18 来自手机  | 显示全部楼层  来自 福建
回复看看看
回复

使用道具 举报

3

主题

3028

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
3330
好评
7
信誉
100

MT论坛最佳新人考神

发表于 2019-10-31 05:17:00 来自手机  | 显示全部楼层  来自 天津
看看隐藏
回复

使用道具 举报

44

主题

1176

回帖

6092

积分

硕士生

Rank: 6Rank: 6

金币
548
好评
7
信誉
100
发表于 2019-10-31 06:16:31 来自手机  | 显示全部楼层  来自 广东
666支持楼主!
回复

使用道具 举报

14

主题

250

回帖

935

积分

高中生

Rank: 4

金币
94
好评
2
信誉
101

MT论坛最佳新人MT论坛帅哥考神

发表于 2019-10-31 06:22:15 来自手机  | 显示全部楼层  来自 四川
回复看隐藏
回复

使用道具 举报

1

主题

3137

回帖

8423

积分

硕士生

Rank: 6Rank: 6

金币
5207
好评
0
信誉
100
发表于 2019-10-31 06:32:09 来自手机  | 显示全部楼层  来自 福建
手指一抖,金币到手。
回复

使用道具 举报

18

主题

2473

回帖

7565

积分

硕士生

Rank: 6Rank: 6

金币
2637
好评
0
信誉
100

考神MT论坛帅哥

发表于 2019-10-31 06:34:20 来自手机  | 显示全部楼层  来自 山西
早上好啊!
回复

使用道具 举报

0

主题

128

回帖

530

积分

初中生

Rank: 3Rank: 3

金币
97
好评
0
信誉
101
QQ
发表于 2019-10-31 06:37:36 来自手机  | 显示全部楼层  来自 浙江
看看
回复

使用道具 举报

18

主题

360

回帖

1524

积分

高中生

QQ3303398502

Rank: 4

金币
154
好评
11
信誉
100
QQ
发表于 2019-10-31 06:42:10 来自手机  | 显示全部楼层  来自 河南
感谢分享
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表