汇编(四)

2019-04-06  本文已影响0人  昵称是乱起的
image.png

1. if语句的汇编代码

一个简单的if语句


image.png

main函数汇编


image.png image.png

2. while语句的汇编代码

image.png
image.png

do while的


image.png
image.png

3. switch语句的汇编代码

3.1 switch代码case值连续的

写一段switch代码


image.png image.png

重新运行项目截图的下面,内存地址不一样,不要在意这些细节


image.png

br x8跳转的看这个图,上面的没有截全


image.png
3.2 switch代码case值不连续的
image.png

这里只看关键的地方


image.png
image.png
3.3 case较大的时候
image.png

跟if语句差不多了


image.png
3.4 switch总结

1、假设switch语句的分支比较少的时候(例如3,少于4的时候没有意义)没有必要使用此结构,相当于if。
2、各个分支常量的差值较大的时候,编译器会在效率还是内存进行取舍,这个时候编译器还是会编译成类似于if,else的结构。
3、在分支比较多的时候:在编译的时候会生成一个表(跳转表每个地址四个字节)

上一篇 下一篇

猜你喜欢

热点阅读