目录

  • 功能简介
  • 作用详细说明
  • 应用举例

文章来源说明:https://baike.baidu.com/item/test/10804276?fr=aladdin

功能简介

Test命令将两个操作数进行逻辑与运算,并根据运算结果设置相关的标志位。但是,Test命令的两个操作数不会被改变。运算结果在设置过相关标记位后会被丢弃。

TEST AX,BXAND AX,BX命令有相同效果,只是Test指令不改变AX和BX的内容,而AND指令会把结果保存到AX中。

作用详细说明

将两个操作数进行按位AND,设结果是TEMP

  1. SF = 将结果的最高位赋给SF标志位,例如结果最高位是1,SF就是1
  2. 看TEMP是不是0,如果TEMP是0,ZF位置1;如果TEMP不是0,ZF位置0
  3. PF = 将TEMP的低8位,从第0位开始,逐位取同或。也就是第0位与第1位的同或结果,去和第2位同或,结果再去和第3位同或…直到和第7位同或。PF位是奇偶校验位,如果结果低8位中1的个数是偶数,PF=1;否则PF=0
  4. CF位置0
  5. OF位置0

应用举例

1.Test用来测试一个位,例如寄存器:

test eax,100b;b后缀意为二进制
jnz ******;如果eax右数第三个位为1,jnz将会跳转

jnz跳转的条件是ZF=0, ZF=0意味着ZF(零标志)没被置位,即逻辑与结果为1。

2.Test的一个非常普遍的用法是用来测试一方寄存器是否为空:

test ecx, ecx
jz somewhere

如果ecx为零,设置ZF零标志为1,jz跳转。

汇编语言Test指令相关推荐

  1. leaq c 汇编语言,汇编语言lea指令使用方法解析

    这篇文章主要介绍了汇编语言lea指令使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 lea指令变种(按大小分类): leaw #2个字节 ...

  2. 汇编语言中xor指令_汇编语言XOR指令:对两个操作数进行逻辑(按位)异或操作(推荐)...

    汇编语言 汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号 ...

  3. linux汇编 lea,汇编语言lea指令使用方法解析

    这篇文章主要介绍了汇编语言lea指令使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 lea指令变种(按大小分类): leaw #2个字节 ...

  4. 汇编语言常用指令汇总(持续更新)

    汇编语言常用指令汇总(持续更新) 通用数据传送指令 累加器专用指令 有效地址送寄存器指令 标志寄存器传送指令 加法指令 减法指令 乘法指令 除法指令 逻辑指令 移位指令 通用数据传送指令 MOV(Mo ...

  5. 汇编语言--call 指令

    call指令经常跟ret指令配合使用,因此CPU执行call指令,进行两步操作: 将当前的 IP 或 CS和IP 压入栈中: 转移(jmp). call指令不能实现短转移,除此之外,call指令实现转 ...

  6. 汇编语言--loop指令

    loop指令为循环指令,所有的循环指令都是短转移,在对应的机器码中包含转移的位移,而不是目的地址. 对IP的修改范围都为-128~127. 指令格式:loop 标号 ((cx) = (cx) - 1, ...

  7. 汇编语言--jcxz指令

    jcxz指令 jcxz指令为有条件转移指令,所有的有条件转移指令都是短转移, 在对应的机器码中包含转移的位移,而不是目的地址.对IP的修改范围都为-128~127. 指令格式:jcxz 标号(如果(c ...

  8. 汇编语言--mul 指令

    mul是乘法指令,使用 mul 做乘法的时候:相乘的两个数:要么都是8位,要么都是16位. 8 位: AL中和 8位寄存器或内存字节单元中: 16 位: AX中和 16 位寄存器或内存字单元中. 结果 ...

  9. 汇编语言AND指令:对两个操作数进行逻辑(按位)与操作

    AND 指令在两个操作数的对应位之间进行(按位)逻辑与(AND)操作,并将结果存放在目标操作数中: AND destination,source 下列是被允许的操作数组合,但是立即操作数不能超过 32 ...

  10. 汇编语言---乘法指令及符号扩展

    汇编语言---有符号数乘法指令 介绍 格式及功能介绍 无符号数乘法指令 有符号数乘法指令 符号扩展及符号扩展语句 符号扩展 符号扩展语句 例子 无符号相乘 有符号数相乘 这是本文的重点: 有符号数相乘 ...

最新文章

  1. 面试 6:调整数组顺序使奇数位于偶数前面
  2. 排序算法 —— 插入排序
  3. SQL Server 提高创建索引速度的 2 个方法
  4. windows故障转移群集和mysql_Windows 2016 无域故障转移群集部署方法 超详细图文教程...
  5. Ubuntu中Qt5.7.0无法输入中文
  6. android自定义application,Android Test Orchestrator和自定义Application类
  7. python配色方案_python 生成18年写过的博客词云
  8. 分享一个蓝屏代码查询器
  9. react-native 加载图片的几种方式
  10. 自控原理学习笔记-反馈控制系统的动态模型(3)-开环、闭环特征模型
  11. Open Wifi SSID Broadcast vulnerability
  12. python股票网格交易法详解_我的选股方法 大家好,我是阿兰,一个将网格交易法应用于股票的人。昨天我给大家介绍了我的网格交易体系,并简单说明了我的选股方法,今天我将... - 雪球...
  13. sshpass报错Host key verification failed
  14. vue2或者vue3图片上传功能(upload)
  15. 微信小程序页面竖向滚动逻辑
  16. 宜未雨而绸缪,毋临渴而掘井。
  17. P6-Windows与网络基础-安装eNSP软件环境
  18. 华为路由器配置DHCP服务及给指定PC分配固定IP地址
  19. 样品制备丨艾美捷蛋白质羰基比色测定试剂盒方案
  20. 在自动UNDO管理情况下,如何手工增加undo段

热门文章

  1. 机试算法讲解: 第10题 让我们来查询学生的信息
  2. 球从100米高的地方落下时反弹的高度
  3. 简单Unity 3D游戏加密dll文件提取
  4. [机器学习]机器学习资源大全中文版
  5. shell 做加法运算_Shell数学计算(算术运算,加减乘除运算)
  6. TCN论文及代码解读总结
  7. OpenHarmony HDF 框架介绍
  8. DALL-E 人工智能的艺术家
  9. 有101根电线 每根的一头在楼底 另一端在楼顶 有一个灯泡 一个电池 无数根很短的电线 怎么样在楼上一次在楼下去一次将电线的对应关系弄清楚。
  10. 深度学习入门之神经网络