项羽姓秦 发表于 2020-3-16 00:59:22

检测点11.4作业练习

assume cs:code

code segment

start:        mov ax,0
                push ax
                popf

                mov ax,0fff0h
                add ax,0010h        ;        这个结果之后ax=0000h
                                                ;         此时的add了标志寄存器里面的值;
                                                ;        cf判断无符号借位。cf=1
                                                ;         of判断有符号溢出。of=0
                                                ;        zf判断结果是否为0。zf=1
                                                ;        pf判断结果1中的个数是否为偶数。pf=1
                                                ;        sf判断结果正负。sf=0
                                                ;        所以此刻的标志寄存器的值为:01000101
                pushf                        ;        将标志寄存器的入栈
                pop ax                        ;        再转给ax
                and al,11000101b                ;        进行对比,逻辑与:如果1则1
                and ah,00001000b                ;        同上
                                                                ;        所以结果ax=45h
                mov ax,4c00h
                int 21h

code ends
end start

Wkh19.1 发表于 2020-4-18 15:04:51

chunhuaqiuyue 发表于 2022-1-8 21:19:11

溢出寄存器没算啊...
页: [1]
查看完整版本: 检测点11.4作业练习