首页 > 编程语言 >汇编-标志位操作指令

汇编-标志位操作指令

时间:2023-12-08 14:26:18浏览次数:31  
标签:位操作 code 汇编 cf al CF 指令 ExitProcess main

 

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

 

 

 

 

 

 

 

 

 

 

标签:位操作,code,汇编,cf,al,CF,指令,ExitProcess,main
From: https://www.cnblogs.com/liming19680104/p/17887044.html

相关文章

  • 汇编-逻辑运算指令
     xor异或               or逻辑或                 and逻辑与not非                 TEST逻辑与        ......
  • Java-指令重排
    Java-指令重排指令重排(InstructionReordering)是指编译器或者处理器在不改变程序语义的前提下,重新安排指令的执行顺序,以优化性能或者满足硬件的执行特性。在多线程环境中,指令重排可能导致线程安全性问题,因为重排序可能改变原本按照程序顺序应该执行的操作次序。单线程-可提高程......
  • 汇编-SHL左移
    SHL(左移)指令使目的操作数逻辑左移一位,最低位用0填充。最高位移入进位标志位,而进位标志位中原来的数值被丢弃: 若将11001111左移1位,该数就变为10011110: 格式:SHLdestination,count第一个操作数是目的操作数,第二个操作数是移位次数 该指令可用的操作数类型如下......
  • 汇编-TEST逻辑与
    Test命令将两个操作数进行逻辑与运算(相当于AND运算),并根据运算结果设置相关的标志位。但是,Test命令的两个操作数不会被改变。运算结果在设置过相关标记位后会被丢弃两操作数作与运算,仅修改标志位,不回送结果TESTAX,BX与ANDAX,BX命令有相同效果,只是Test指令不改变AX和BX的内......
  • 汇编-not非
    该指令允许的操作数类型如下所示:NOTregNOTmem .386.modelflat,stdcalloptioncasemap:none.stack4096ExitProcessPROTO,dwExitCode:DWORD.data.codemainPROCmoval,11110000bnotal;al=00001111b......
  • 汇编-or逻辑或
     OR指令在两个操作数的对应位之间进行(按位)逻辑或(OR)操作,并将结果存放在目标操作数中:格式:ORreg,regORreg,memORreg,immORmem,regORmem,imm操作数可以是8位、16位、32位和64位,但是两个操作数必须是同样大小。对两个操作数的每一对对应位而言,只要有一个输入位是1,则......
  • 汇编-xor异或
     XOR指令在两个操作数的对应位之间进行(按位)逻辑异或(XOR)操作,并将结果存在目标操作数中两个操作数的每一对对应位都应用如下操作原则:如果两个位值相同(同为0或同为1),则结果位等于0;否则结果位等于1。下标描述的是布尔运算x⊕y: 与0异或值不变,与1异或则被触发(求补)。对相同操作数进......
  • 【组成原理-指令】扩展操作码的树形解法
    仿照哈夫曼树(或前缀编码,Prefix-free)的解法,目前先不解释具体怎么画了,直接放例题,大家自己慢慢品味吧。【例1】某指令系统指令长16位,操作码字段为4位,地址码字段为4位,采用扩展操作码技术,形成三地址指令15条、二地址指令15条、一地址指令15条、零地址指令16条。【解......
  • 基于ATMega16的流水灯实例(汇编)
    本例在ATMega16上,利用汇编程序实现一个流水灯,主要讨论寄存器移位及软件延时的使用方法。本例中的八个LED电路通过限流电阻及跳线帽接在PA端口,电路如下图所示。完整的汇编代码如下。 .INCLUDE"M16DEF.INC".DEFTMP=R16;定义一个R16寄存器的别名(R不能......
  • Git命令行常用指令速查
    Git本地和远端的交互CommandUsagegitbranch-vv查看本地各分支和它们关联的远端分支gitbranch--set-upstream-to=origin/<remote_branch_name>关联本地指定分支和远端指定分支gitbranch--unset-upstream取消关联gitcheckout-b<loc......