从C++探究汇编.04

2021-11-02  本文已影响0人  Stago

[地址值]

lea

lea dest, [地址值]
赋值地址值 给dest (load effect address) (装载地址值)
类似于 dest = 地址值

mov dest, src
mov 是对应地址取出的内容赋值,
类似于dest = src

mov move的简称

lea dest, [地址值]

lea eax, [1122H]
// eax = 1122H 
// mov eax, 1122H

mov  eax, dword ptr[1122H]

call

call 函数地址

F11 进入函数内部汇编代码:


xor

xor op1, op2

jmp

跳转到某个内存地址去执行代码


带条件跳转


汇编:



分析:


常见代码汇编分析

为什么用mov?



mov不支持内存到内存

用debug模式调试查看汇编代码,release模式下,没用代码会被优化掉

注意: mov 都是带单位的
汇编分析:



内存概图


mov dword ptr[age], 3
lea eax, [age]
mov  dword ptr[p], eax
mov eax,dword ptr[p]
mov dword ptr[eax], 5

引用补充

常引用

必须写在&符号的左边才算常引用

特点:

可以接受const和非const实参(非const引用,只能接受非const实参)
可以跟非const引用构成重载

可以访问能修改:



因为本质是指针:



几种不同的写法的情况:

带来的重大用处:引用不可以,常引用可以
引用:



常引用:


下面的函数定义对应函数不能直接穿常量:


函数参数常引用就可以了:const引用可接收范围很大


和非const引用构成重载


上一篇 下一篇

猜你喜欢

热点阅读