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

有时间继续;

相关推荐
fengye2071614 天前
板凳----------(枯藤 )vs2026+win10(第六章-4)
汇编
-曾牛4 天前
【汇编语言入门】从第一个加法程序吃透汇编核心基础
汇编·单片机·嵌入式硬件·汇编语言·病毒分析·lcx·逆向开发
切糕师学AI4 天前
ARM 汇编指令:ROR(循环右移)
汇编·arm开发
切糕师学AI4 天前
ARM 汇编指令:LSL(逻辑左移) 和 LSR(逻辑右移)
汇编·arm开发
草莓熊Lotso5 天前
Python 库使用全攻略:从标准库到第三方库(附实战案例)
运维·服务器·汇编·人工智能·经验分享·git·python
山峰哥6 天前
SQL优化中的索引策略与Explain分析实战
大数据·汇编·数据库·sql·编辑器
山峰哥7 天前
SQL调优实战指南:从索引设计到高并发场景优化全链路解析
大数据·汇编·数据库·sql·编辑器·区块链
fengye2071618 天前
板凳----------(枯藤 )vs2026+win10(第六章-2)
汇编
2501_918126918 天前
用Python开发一个三进制程序开发工具
开发语言·汇编·python·个人开发
黎雁·泠崖9 天前
Java底层探秘进阶:JIT汇编逐行拆解!Java方法栈帧与C语言深度对标
java·c语言·汇编