l條件轉移指令
jle
l
條件轉移指令
jng
l標誌暫存器
psw
標誌暫存器psw(程式狀態字暫存器
psw)
標誌暫存器psw是乙個16為的暫存器。它反映了cpu運算的狀態特徵並且存放某些控制標誌。8086使用了16位中的9位,包括6個狀態標誌位和3個控制標誌位。
1514
1312
111098
7654
3210
ofdf
iftf
sfzf
afpfcf零
標誌 cf(進製標誌位):當執行乙個加法(減法)運算時,最高位產生進製(或借位)時,cf為1,否則為0。
zf零標誌位:若當前的運算結果為零,則zf為
1,否則為0。
sf符號標誌位:該標誌位與運算結果的最高位相同。即運算結果為負,則sf為
1,否則為
0。of溢位標誌位:若運算結果超出機器能夠表示的範圍稱為溢位,此時of為1,否則為0。判斷是否溢位的方法是:進行二進位制運算時,最高位的進製值與次高位的進製值進行異或運算,若運算結果為1則表示溢位of=1,否則of=0
pf奇偶標誌:當運算結果的最低16位中含1的個數為偶數則pf=1否則pf=0
af輔助進製標誌:乙個加法(減法)運算結果的低4位向高4位有進製(或借位)時則af=1否則af=0
另外還有三個控制標誌位用來控制cpu的操作,可以由程式進行置位和復位。
tf跟蹤標誌:該標誌位為方面程式除錯而設定。若tf=1,8086/8088cpu處於單步工作方式,即在每條指令執行結束後,產生中斷。
if中斷標誌位:該標誌位用來控制cpu是否響應可遮蔽中斷。若if=1則允許中斷,否則禁止中斷。
df方向標誌:該標誌位用來控制串處理指令的處理方向。若df=1則串處理過程中位址自動遞減,否則自動遞增。
od
裡能檢視到除if
標誌外的
8個標誌位
一、指令格式
條件轉移指令jle/jng
格式: jle/jng 標號位址
功能: 小於等於
/不大於 時轉到標號位址
jng有符號 不大於 則跳轉 //jump ifnot greater
jle 有符號小於等於 則跳轉 //jumpif less or equal
sf=1,zf=1,of=1 //其中乙個或者多個為1 則跳轉
二、**測試
printf("begin\n");
inta=3;
intb=5;
if (a>b) //jle/jng
小於等於
/不大於時轉移
printf("dothis");
//jng
不大於
printf("end;\n");
return0;
}
ibatis 大於等於小於等於的寫法
在ibatis的sql語句xml配置檔案中,寫sql語句會經常用到大於等於小於等於等等符號。網上蒐羅了一些寫法,大致有3種 其實就是xml特殊符號,轉義的方式。比如 select case when unix timestamp now unix timestamp ur.offline time ...
ibatis 大於等於小於等於的寫法
在ibatis的sql語句xml配置檔案中,寫sql語句會經常用到大於等於小於等於等等符號。網上蒐羅了一些寫法,大致有3種 其實就是xml特殊符號,轉義的方式。比如 select case when unix timestamp now unix timestamp ur.offline time ...
關於xml中大於等於 小於等於解析錯誤
xml文件中包含類似 elements look like 的文字,其中的 將被解析程式解釋成乙個元素,而人們實際想要的是 所表示的原義文字。1.cdata區 它的全稱為character data,以 結束,在兩者之間嵌入不想被解析程式解析的原始資料,解析器不對cdata區中的內容進行解析,而是 ...