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也会变;

有时间继续;

相关推荐
猫猫的小茶馆21 小时前
【Linux 驱动开发】一. 搭建开发环境
linux·汇编·arm开发·驱动开发·stm32·嵌入式硬件·mcu
猫猫的小茶馆1 天前
【Linux 驱动开发】二. linux内核模块
linux·汇编·arm开发·驱动开发·stm32·嵌入式硬件·架构
切糕师学AI2 天前
ARM 中的 SVC 监管调用(Supervisor Call)
linux·c语言·汇编·arm开发
ベadvance courageouslyミ2 天前
硬件基础中断
汇编·硬件·中断
你爱写程序吗(新H)2 天前
基于单片机的洗衣机控制系统设计 单片机洗衣机控制(设计+文档)
c语言·汇编·单片机·嵌入式硬件·matlab
VekiSon3 天前
ARM架构——用汇编语言点亮 LED
汇编·arm开发·嵌入式硬件
JJCar3 天前
汇编文字池(literal pool)
汇编·文字池·literal pool
乾复道4 天前
巧用终端,每天节省2小时
汇编·经验分享·vim
2501_927773075 天前
嵌入式——汇编语言1
汇编
山峰哥5 天前
数据库工程核心:SQL调优让查询效率飙升的实战密码
网络·汇编·数据库·sql·编辑器