0
点赞
收藏
分享

微信扫一扫

汇编语言 pushf 和 popf指令

有点d伤 2022-06-01 阅读 140

pushf 的功能是将标志寄存器的值压栈,而 popf 是从栈中弹出数据,输出标志寄存器的值。

以下是举例 pushf 和 popf指令的使用

assume cs:code, ds:data, ss:stack

data segment
db 128 dup(0)
data ends

stack segment stack
db 128 dup(0)
stack ends

code segment
start:
mov ax, 0   ; ax = 0000 0000 0000 0000
push ax
popf        ; PSW = 0000 0000 0000 0000
mov ax, 0FFF0H ; ax = 0FFF0H
add ax, 0010H   ; PSW = 0000 0000 0100 0101 
pushf   ; 将所有的标志位 存入栈中
pop ax          ; ax = 0000 0000 0010 1111   
and al,  0C5H  ;1100 0101B    al =   0100 0101    
                                           
and ah, 8H;0000 1000B     ; ax = 0000 0000 0100 0101  ax = 0045H

mov ax, 4C00H
int 21H

CODE ENDS           ; 结束
END START

汇编语言 pushf 和 popf指令_数据
汇编语言 pushf 和 popf指令_寄存器_02


举报

相关推荐

0 条评论