美文网首页
Swift - 汇编-2

Swift - 汇编-2

作者: 开了那么 | 来源:发表于2020-10-21 10:29 被阅读0次

    /*
    //字符串长度<= 0xF,字符串内容直接存放在str1变量的内存中

    var str1 = "0123456789"

    //字符串长度> 0xF, 字符串内容存放在__ .TEXT.cstring中 (常量区)

    //字符串的地址値信息存放在str2変量的后8个字や中

    var str2 = "0123456789ABCDEF"

    // 由于字符串长度<= 0xF,所以字符串内容依然存放在str1变量的内存中

    str1. append ( " ABCDE" )

    //开辟堆空间.

    str1. append("F")

    //开辟堆空间.

    str2. append("G" )

    0x10000a3ce jmpq *0x2c4c (%rip)
    jmpq作用: rip 的地址值加上 0x2c4c 得到的新地址,然后跳转到新地址的里面的地址值

    rip 的地址值是当前指令的下一条执行的地址值,如果只有一条指令,则rip的地址为当前指令的地址 加上 当前汇编指令占用字节数,如下图中

    image

    当前方法只有一条指令,所以 rip 的地址为 0x10000a3ce + 6(当前汇编指令占用字节数)
    新地址为 rip + 0x2c4c
    jmpq 跳转的内容是新地址里面存储的地址内容

    相关文章

      网友评论

          本文标题:Swift - 汇编-2

          本文链接:https://www.haomeiwen.com/subject/lpysmktx.html