汇编-标志位操作指令

 

CF置0

复制代码
.386  
.model flat,stdcall 
option casemap:none
.stack 4096

ExitProcess PROTO,dwExitCode:DWORD  
 
.data       
 
.code   
main PROC   
    
   mov al,10000110b       
   shl al,1          ;cf=1
   clc               ;CF置0    cf=0
   
    

    INVOKE ExitProcess,0  
main ENDP   
END main
复制代码

 

CF置1

复制代码
.386  
.model flat,stdcall 
option casemap:none
.stack 4096

ExitProcess PROTO,dwExitCode:DWORD  
 
.data       
 
.code   
main PROC   
    
   mov al,00000110b       
   shl al,1          ;cf=0
   stc               ;CF置1   cf=1
   
    

    INVOKE ExitProcess,0  
main ENDP   
END main
复制代码

 

CF取反

复制代码
.386  
.model flat,stdcall 
option casemap:none
.stack 4096

ExitProcess PROTO,dwExitCode:DWORD  
 
.data       
 
.code   
main PROC   
    
   mov al,00000110b       
   shl al,1          ;cf=0
   cmc               ;CF取反   cf=1
   
    

    INVOKE ExitProcess,0  
main ENDP   
END main
复制代码

 

DF置0

CLD        

 

DF置1

STD

 

IF置0 

CLI

 

IF置1 

 STI

 

 

若要将零标志置位, 就将操作数与0进行TEST或AND运算;若要将零标志清零,则将操作数与1进行OR运算:

若要将符号标志置位,就将操作数的最高位与1进行OR运算;若要将符号标志清零,则将操作数的最高位与0进行AND运算:

若要将溢出标志置位,就将两个正数相加使之产生负的和数;若要将溢出标志清零,则将操作数与0进行OR运算:

 

test逻辑与

https://www.cnblogs.com/liming19680104/p/17878956.html    

 

 

 

 

 

posted @   天子骄龙  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2022-12-08 MFC--CPoint点类
2021-12-08 qt5-剪贴板
2019-12-08 python--ctypes模块:调用C函数
2019-12-08 python-platform模块:平台相关属性
点击右上角即可分享
微信分享提示

目录导航