标志寄存器是一个很特殊的寄存器,所以有必要分单张来讲讲一下。 标志寄存器在32位操作系统中大小是32-bit的,也就是说,它可以存32个标志。实际上标志寄存器并没有完全被使用,如上图,我们可以见到有一些地方是没有用到的,大多数情况下,我们只需学习运算结果标志位就可以了,其他的用到的地方不多...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-01-07 16:34:27
                            
                                240阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            CPU标志寄存器非常复杂,16位、32位、64位CPU的标志寄存器EFLAGS都不一样,16位太旧了,兼容 在32位寄存器内,我就不讲了,详细讲解一下32位寄存器,64位在32位上扩展,我会边学边更新。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2020-12-14 17:05:47
                            
                                6303阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            IDA的汇编采用的Intel语法 汇编指令的后面通常跟一个操作数,操             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-12-16 15:46:00
                            
                                503阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            怀念二抱三抱            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-09 00:01:06
                            
                                313阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            5.4 堆栈操作 5.4.2 POP和PUSH指令 PUSHFD 指令把 32 位 EFLAGS 寄存器内容压入堆栈,而 POPFD 指令则把栈顶单元内容弹出到 EFLAGS 寄存器: PUSHAD 指令按照 EAX、ECX、EDX、EBX、ESP(执行 PUSHAD 之前的值)、EBP、ESI 和            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-09-19 09:27:00
                            
                                377阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            这回着重说到了汇编语言中与流程控制相关的内容。eip寄存器指示着CPU接下来要执行哪里的代码一系列跳转指令,跳转指令根本上就是修改了eip比较指令,比较指令实际上是在做减法,然后把结果的一些状态放到eflags寄存器中eflags寄存器的作用条件跳转指令也就是根据eflags中的信息来决定是否跳转当然,这里讲述的仅仅是一部            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-01-13 00:46:10
                            
                                85阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
            触犯单步异常 改变的是当前Eflags 而不是触发异常的Eflags 也就是 PUSHF MOV EAX, DWORD PTR[ESP] OR EAX, 0x100 MOV DWORD PTR [ESP], EAX POPF 来实现单步异常(特别需要注意单步异常设置后下一条语句也会触发单步异常。如果            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-20 15:24:24
                            
                                513阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            The only difference between an interrupt gate and a trap gate is the way theprocessor handles the IF flag in the EFLAGS register. When accessing an exception-or interrupt-handling procedure through an            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-30 21:02:14
                            
                                21阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            由用户态进入内核态时,CPU会自动按照SS、ESP、EFLAGS、CS、EIP的顺序,将这几个寄存器的值压入到内核栈中 父进程内核栈的样子 执行int 0x80将SS、ESP、EFLAGS、CS、EIP入栈。 在system_call中将DS、ES、FS、EDX、ECX、EBX入栈。system_call:
    cmpl $nr_system_calls-1,%eax  调用号如果超出范围的话            
                
         
            
            
            
            设计用于系统编程的系统寄存器主要包括以下几类:标志寄存器EFLAGS, 内存管理寄存器, 控制寄存器, 调试寄存器, 测试寄存器。系统标志寄存器EFLAGS 控制着I/O、可屏蔽中断、调试、任务切换以及保护模式和多任务环境下虚拟8086 程序的执行。 内存管理寄存器有4 个,用于分段内存管理:• GDTR – 全局描述符表寄存器(Global Descriptor Table Regis            
                
         
            
            
            
            状态和控制寄存器是由指令指针EIP、标志寄存器EFLAGS和4个控制寄存器(CR0~CR            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-04-12 10:53:11
                            
                                269阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            原理 TrapFlag(陷阱标志位)。这种反调试手段属于异常的范畴,通过设置 eflags 寄存器的值来触发某个异常,当存在调试器时...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-19 10:10:40
                            
                                114阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            回到上一个层面,继续看 PortalStart的处理:voidPortalStart(Portal portal, ParamListInfo params, int eflags, bool use_active_snapshot){ ... PG_TRY(); { ... /* * Determine the portal execution strategy */ portal->strategy = ChoosePortalStrategy(portal->stmts); ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-05-29 16:41:00
                            
                                57阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            在定义了Portal之后,需要运行:PortalStart,它主要的任务是明确执行策略,然后再执行ExecutorStart:代码太长,进行缩略:voidPortalStart(Portal portal, ParamListInfo params, int eflags, bool use_active_snapshot){ ... PG_TRY(); { ActivePortal = portal; CurrentResourceOwner = portal->resowner; PortalContext ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-05-22 13:26:00
                            
                                35阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            4.1 Systems Registers系统寄存器
The registers designed for use by systems programmers fall into these classes:为系统程序设计的寄存器分为如下几类:EFLAGS 标志寄存器FLAGSMemory-Management Registers 内存管理寄存器Control Regist            
                
         
            
            
            
            (目录)
概览
1. IA-32 System-Level Registers and Data Structures
2. System-Level Registers and Data Structures in IA-32e Mode and 4-Level Paging
3. IA32_EFER MSR Layout
4. System Flags in the EFLAGS            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-17 22:55:20
                            
                                4阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            状态和控制寄存器组除了EFLAGS、EIP ,还有四个32位的控制寄存器,它们是CR0,CR1,CR2和CR3。 这几个寄存器中保存全局性和任务无关的机器状态。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-05-20 10:53:59
                            
                                1389阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            学 Win32 汇编[21] - 传送指令: MOV、LEA、XCHG、XLATB、XLAT、MOVZX、MOVSX
    
        
        
汇编指令的一般性要求: 1、两个操作数的尺寸必须一致; 2、操作数不能同为内存.MOV(Move): 最常用的数据传送指令
;该指令不影响 EFlags
;指令格式: (其中的 r、m            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-04-30 11:58:46
                            
                                1116阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            原文地址: http://www.cnblogs.com/del/archive/2010/04/09/1708260.html 标志(Flag)寄存器:EFLAGS 中的 32 位被分成 0-31 个二进制位分别使用;第 0、2、4、6、7、11 位是状态标志位;第 10 位是字符串操作控制标志位            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-04-01 17:04:00
                            
                                47阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            跳转: 一、无条件跳转: JMP;二、根据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ(ECX 为 0 则跳转);三、根据 EFLAGS 寄存器的标志位跳转 JE ;等于则跳转 JNE ;不等于则跳转 JZ ;为 1 则跳转 JNZ ;不为 1 则跳转 JS ;为负 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-10-01 21:28:00
                            
                                282阅读
                            
                                                                                    
                                2评论