汇编的bt指令

栏目: 编程语言 · 发布时间: 5年前

内容简介:通过学习

通过学习 bt 指令,熟悉 gdb 的使用,和汇编指令的分析方法。

汇编的bt指令

汇编的bt指令

bt 指令从你指定的bit位置,把值拷贝到 carry flag 。那些flags,和各种跳转的指令有关,所以就实现了「判断-跳转」。跟carry flag有关的指令是各种jump指令:

汇编的bt指令

主要是这几个根据条件跳转的指令,都会根据carry flag的值来判断是否跳转。关于flag寄存器的说明:

汇编的bt指令

撰写测试代码:

汇编的bt指令

上面两行 bt 指令,一个会设置 carry flag ,一个会清空 carry flag 。因为对应的 eax 寄存器的值分别是 10 。实际编译和运行代码试试看,设置断点并执行:

汇编的bt指令

接下来的两行 bt 指令,可以看到 carry flag 拷贝了所指定的bit的值:

汇编的bt指令

汇编的bt指令

eflags 寄存器,里面每一个bit保存一个状态,都是有特殊含义的:

汇编的bt指令

因为cflag是eflags积存器的第一位,所以cf的设置或消除就是加减 1 。cpu就是拿这些状态做各种各样的条件判断。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Linux Command Line

The Linux Command Line

William E. Shotts Jr. / No Starch Press, Incorporated / 2012-1-17 / USD 39.95

You've experienced the shiny, point-and-click surface of your Linux computer-now dive below and explore its depths with the power of the command line. The Linux Command Line takes you from your very ......一起来看看 《The Linux Command Line》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具