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

 

 有时间继续;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值