学生浅显的讲解一下自己懂。。希望LZ懂了再指导指导我。。。
高手的话。。也望赐教。。。
mov ax,0
首先ax 置 0
push ax
将ax 推入栈中
popf
这里将栈中 0 取出送入 标志寄存器
mov ax,0fffh
add ax,0010h
这两步对 ax 处理后。ax = 100fh
pushf
将标志寄存器的值推入栈。。这里没有溢出。。我的标志寄存器的值是3006h
pop ax
所以 ax = 3006
and al,11000101b
11000101 and 00000100
and ah,00001000b
00001000 and 00110000
最后我的 ax = 4 。。 这里我不太懂为什么标志寄存器的值为3006。。。LZ也debug 一下。。看看会出现什么情况。。希望能互相学习。。交流。。
因为很久没接触汇编了。。。所以只能说些自己理解的了。。。如有错误请提出。。见谅。。