016-JLE JNG(小于等于)
l? 條件轉(zhuǎn)移指令JLE
l? ?條件轉(zhuǎn)移指令JNG
?
l? 標(biāo)志寄存器PSW
標(biāo)志寄存器PSW(程序狀態(tài)字寄存器PSW)
?? 標(biāo)志寄存器PSW是一個(gè)16為的寄存器。它反映了CPU運(yùn)算的狀態(tài)特征并且存放某些控制標(biāo)志。8086使用了16位中的9位,包括6個(gè)狀態(tài)標(biāo)志位和3個(gè)控制標(biāo)志位。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ? | ? | ? | ? | OF | DF | IF | TF | SF | ZF | ? | AF | ? | PF | ? | CF |
| ? | ? | ? | ? | ? | ? | ? | ? | ? | 零 標(biāo)志 | ? | ? | ? | ? | ? | ? |
?
?
??????????????????
?
?
??
?? CF(進(jìn)位標(biāo)志位):當(dāng)執(zhí)行一個(gè)加法(減法)運(yùn)算時(shí),最高位產(chǎn)生進(jìn)位(或借位)時(shí),CF為1,否則為0。
? ?ZF零標(biāo)志位:若當(dāng)前的運(yùn)算結(jié)果為零,則ZF為1,否則為0。
?? SF符號(hào)標(biāo)志位:該標(biāo)志位與運(yùn)算結(jié)果的最高位相同。即運(yùn)算結(jié)果為負(fù),則SF為1,否則為0。
?? OF溢出標(biāo)志位:若運(yùn)算結(jié)果超出機(jī)器能夠表示的范圍稱為溢出,此時(shí)OF為1,否則為0。判斷是否溢出的方法是:進(jìn)行二進(jìn)制運(yùn)算時(shí),最高位的進(jìn)位值與次高位的進(jìn)位值進(jìn)行異或運(yùn)算,若運(yùn)算結(jié)果為1則表示溢出OF=1,否則OF=0
?? PF奇偶標(biāo)志:當(dāng)運(yùn)算結(jié)果的最低16位中含1的個(gè)數(shù)為偶數(shù)則PF=1否則PF=0
? ?AF輔助進(jìn)位標(biāo)志:一個(gè)加法(減法)運(yùn)算結(jié)果的低4位向高4位有進(jìn)位(或借位)時(shí)則AF=1否則AF=0?
?? 另外還有三個(gè)控制標(biāo)志位用來(lái)控制CPU的操作,可以由程序進(jìn)行置位和復(fù)位。
?? TF跟蹤標(biāo)志:該標(biāo)志位為方面程序調(diào)試而設(shè)置。若TF=1,8086/8088CPU處于單步工作方式,即在每條指令執(zhí)行結(jié)束后,產(chǎn)生中斷。
? ?IF中斷標(biāo)志位:該標(biāo)志位用來(lái)控制CPU是否響應(yīng)可屏蔽中斷。若IF=1則允許中斷,否則禁止中斷。
? ?DF方向標(biāo)志:該標(biāo)志位用來(lái)控制串處理指令的處理方向。若DF=1則串處理過(guò)程中地址自動(dòng)遞減,否則自動(dòng)遞增。
?
OD里能查看到除IF標(biāo)志外的 8個(gè)標(biāo)志位
?
一、指令格式
條件轉(zhuǎn)移指令JLE/JNG?
?格式: JLE/JNG 標(biāo)號(hào)地址
?功能: 小于等于/不大于?時(shí)轉(zhuǎn)到標(biāo)號(hào)地址
JNG??? 有符號(hào) 不大于???????? 則跳轉(zhuǎn)??? //Jump ifNot Greater
JLE??? 有符號(hào)小于等于?????? 則跳轉(zhuǎn)?? //Jumpif Less or Equal
??? SF=1,ZF=1,OF=1 //其中一個(gè)或者多個(gè)為1 則跳轉(zhuǎn)
二、代碼測(cè)試????
?? {
???????? printf("begin\n");
???????? int a=3;
???????? int b=5;
???????? if (a>b) //JLE/JNG 小于等于/不大于時(shí)轉(zhuǎn)移
???????? {
???????? ???????? printf("dothis");
???????? }
???? //JNG 不大于
???????? printf("end;\n");
???????? return0;
}
//OD?ctrl+* 設(shè)置下一條要執(zhí)行指令的地址 簡(jiǎn)單的說(shuō)就是設(shè)置EIP
總結(jié)
以上是生活随笔為你收集整理的016-JLE JNG(小于等于)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于SYSTICK延时函数的两个小疑问
- 下一篇: 阿里云正式发布小程序Serverless