汇编语言中,标志寄存器全部清0可以用mov flags,0吗?

来源:百度知道 编辑:UC知道 时间:2024/07/05 21:19:35
如果不行,该如何做?

DF置零 CLD (clear direction flag)
DF置一 STD (set direction flag)

指令的汇编格式:CLD
STD
指令的基本功能:CLD DF=0
STD DF=1

一般在处理串的时候用到~
标志寄存器传送指令

标志寄存器的低字节送AH LAHF (load AH with FLAGS)

指令的汇编格式:LAHF
指令的基本功能:(AH)<-(FLAGS)0-7
指令对标志位的影响:不影响标志位

AH送标志寄存器低字节 SAHF(store AH into FLAGS)

指令的汇编格式:SAHF
指令的基本功能:(FLAGS)0-7<-(AH)
指令对标志位的影响:由装入值来确定标志位的值。

标志进栈 PUSHF (push the flags)

指令的汇编格式:PUSHF
指令的基本功能:(SP)<-(SP)-2 ((SP)+1,(SP))<-(FLAGS)0-15
指令对标志位的影响:不影响标志位。

标志出栈 POPF (pop the FLAGES)

指令的汇编格式:POPF
指令的基本功能:(FLAGS)0-15<-((SP)+1,(SP)) (SP)<-(SP)+2
指令对标志位的影响:由装入值来确定标志位的值。

这个可以操作标志位寄存器~标志寄存器是16位寄存器~不过这个操作不好会出问题。。。。。。

应该没有你说的那种吧

一般的寄存器清零都是用逻辑异或指令XOR

格式为 XOR AX,AX (AX清零)
XOR CX,CX (CX清零)

希望能够帮上你

清进位标志,格式如下:
clc