美文网首页
C++ 从入门到放弃 (Day-03)

C++ 从入门到放弃 (Day-03)

作者: 麦兜兜买兜兜 | 来源:发表于2018-10-26 16:43 被阅读13次

    引用的本质

    ◼ 引用的本质就是指针,只是编译器削弱了它的功能,所以引用就是弱化了的指针
    ◼ 一个引用占用一个指针的大小

    汇编语言

    ◼ 汇编语言的种类 8086汇编(16bit) x86汇编(32bit) x64汇编(64bit) ARM汇编(嵌入式、移动设备) ......
    ◼ x64汇编根据编译器的不同,有2种书写格式 Intel
    AT&T
    ◼ 汇编语言不区分大小写

    x64汇编 – 寄存器

    image.png

    x64汇编 – 寄存器

    image.png

    x64汇编要点总结

    ◼mov dest, src
    将src的内容赋值给dest,类似于dest = src
    ◼[ 地址值 ]
    中括号[ ]里面放的都是内存地址
    ◼word是2字节,dword是4字节(double word),qword是8字节(quad word) ◼call 函数地址
    调用函数
    ◼lea dest, [ 地址值 ]
    将地址值赋值给dest,类似于dest = 地址值
    ◼ret
    函数返回
    ◼xor op1, op2
    将op1和op2异或的结果赋值给op1,类似于op1 = op1 ^ op2
    ◼add op1, op2
    类似于op1 = op1 + op2
    ◼sub op1, op2
    类似于op1 = op1 - op2
    ◼inc op
    自增,类似于op = op + 1
    ◼dec op
    自减,类似于op = op – 1
    ◼jmp 内存地址
    跳转到某个内存地址去执行代码 j开头的一般都是跳转,大多数是带条件的跳转,一般跟test、cmp等指令配合使用
    ◼ 权威参考:Intel白皮书 https://software.intel.com/en-us/articles/intel-sdm

    变量地址总结

    ◼ 一个变量的地址值,是它所有字节地址中的最小的那个地址值

    引用的本质就是指针
    汇编会以16进制展示代码
    汇编代码不区分大小写
    寄存器是存在CPU里面 (CUP是运行程序的)


    image.png

    R开头都是8个字节
    E开头是4个字节

    相关文章

      网友评论

          本文标题:C++ 从入门到放弃 (Day-03)

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