二十二、标志寄存器与栈(代码设计安全,与子程序寄存器安全类似)
1、子程序安全調(diào)用
?? ?子程序的設(shè)計(jì)要以保持寄存器值的平衡,??臻g的平衡為原則。
?? ?子程序的設(shè)計(jì)在必要時(shí)候,需要保持標(biāo)志寄存器的平衡。
2、標(biāo)志寄存器
?? ?在計(jì)算機(jī)中,有一個(gè)專用16位的寄存器FLAGS(又稱:標(biāo)志寄存器)。
?? ?標(biāo)志寄存器是按位起作用的,每一位都有專門的含義,記錄特定的信息。
?? ?FLAGS寄存器結(jié)構(gòu):
?? ?0?? ?CF進(jìn)位(是/否)?? ??? ?CY?? ?NC
?? ?1
?? ?2?? ?PF奇偶(偶/奇)?? ??? ?PE?? ?PO
?? ?3
?? ?4?? ?AF輔助進(jìn)位(是/否)?? ?AC?? ?NA
?? ?5
?? ?6?? ?ZF零(是/否)?? ??? ?ZR?? ?NZ
?? ?7?? ?SF符號(hào)(負(fù)/正)?? ??? ?NG?? ?PL
?? ?8?? ?TF
?? ?9?? ?IF中斷(允許/關(guān)閉)?? ?EI?? ?DI
?? ?10?? ?DF方向(減量/增量)?? ?DN?? ?UP
?? ?11?? ?OF溢出(是/否)?? ??? ?OV?? ?NV
?? ?12
?? ?13
?? ?14
?? ?15
3、標(biāo)志寄存器與棧
?? ?PUSHF?? ?標(biāo)志寄存器的值入棧
?? ?POPF?? ?標(biāo)志寄存器的值出棧
?
總結(jié)
以上是生活随笔為你收集整理的二十二、标志寄存器与栈(代码设计安全,与子程序寄存器安全类似)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数学预备知识
- 下一篇: 16. OD-破解序列号验证机算法