编程论坛
注册
登录
编程论坛
→
汇编论坛
如何调用标志位???
夢梦
发布于 2015-10-16 22:21, 4294 次点击
比如编程中需要调用CF标志位
8 回复
#2
Spy001
2015-10-17 01:16
#3
hu9jj
2015-10-17 07:54
取标志寄存器数据后进行位运算,得到相应位的值。
#4
随风的飞叶
2015-10-17 09:13
pushf ,pop reg , and 0000000001,这样做对吗
#5
随风的飞叶
2015-10-17 09:16
pushf 标志寄存器压栈,pop reg,取出到寄存器,and 000000000001,取出CF状态。
#6
随风的飞叶
2015-10-17 09:22
pushf
pop ax
and ax,0000000000000001 ;写成 and ax,1,可以吧
#7
随风的飞叶
2015-10-17 09:54
assume cs:codesg,ss:stack
stack segment
dw 10 dup(0)
stack ends
codesg segment
s:pushf
pop ax
and ax,1
mov ax,4c00h
int 21h
codesg ends
end s
运行通过。
#8
夢梦
2015-10-17 23:08
拜谢了
#9
随风的飞叶
2015-10-18 07:24
我的电脑上运行结果,pushf ;ax=0000,
pop ax ;ax=3302
and ax,1 ;ax=0000
与运算后,ax=0000,说明要取出的位为0,不为0则说明要取出的位为1。
取标志寄存器的那位的值,则and 那位置1,其余位置0。取出后要做什么
就不知道了,又没有要求。
1