8086汇编test指令学习

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

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

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

SF = 将结果的最高位赋给SF标志位,例如结果最高位是1,SF就是1

看TEMP是不是0

如果TEMP是0,ZF位置1

如果TEMP不是0,ZF位置0

CF位置0

OF位置0

AF位是未定的,

SF位是符号位;

ZF位记录操作的结果是否是0;

PF位是奇偶校验位,如果结果低8位中1的个数是偶数,PF=1;否则PF=0;

emu8086,如下指令看一下情况,

十进制109的十六进制是6D,

二进制是如下,

标志位初始值,

执行完mov之后,

如上执行test之后标志位都不会发生变化;SF也没变,SF是符号位;

如下的数字PF变了;

如下的SF变了;

如果是-109,SF也会变;

有时间继续;

相关推荐
_Voosk2 小时前
C指针存储字符串为何不能修改内容
c语言·开发语言·汇编·c++·蓝桥杯·操作系统
天途小编5 小时前
融合空域相关法规核心条款汇编
汇编·无人机
天途小编5 小时前
无人机相关国家根本条例核心汇编
汇编·无人机
2301_789015621 天前
C++:模板进阶
c语言·开发语言·汇编·c++
Hollis Arthur3 天前
mips栈帧详解
开发语言·汇编·学习·mips
fengye2071613 天前
板凳----------(枯藤 )vs2019+win10(第四章-3)
汇编
white-persist6 天前
【攻防世界】reverse | re1-100 详细题解 WP
c语言·开发语言·网络·汇编·python·算法·网络安全
sulikey6 天前
如何使用 Visual Studio 代替 OllyDbg 完成汇编语言实验
汇编·ide·debug·visual studio·ollydbg
浩浩测试一下7 天前
C&&汇编中的调用约定
大数据·汇编·安全·web安全·网络安全·系统安全
猫猫的小茶馆7 天前
【ARM】BootLoader(Uboot)介绍
linux·汇编·arm开发·单片机·嵌入式硬件·mcu·架构