只有BP作為間址暫存器時,段暫存器才預設使用SS。
用BX, SI, DI這三個暫存器作為間址暫存器時,都預設使用DS作為段暫存器。
SP是不可以作為間址暫存器使用的。它只是在堆疊操作時(比如PUSH,CALL等)與SS配合指示棧頂。它也可作為一般資料暫存器存放資料和參與運算。不過,由於堆疊的重要性,一般除了特別需要處理堆疊時才使用外,應儘量避免用它作資料寄存或運算。
要看出標誌位的值,最好是掌握標誌位的英文表示。
比如:
溢位標誌OF是Overflow Flag的縮寫,在DEBUG中用"NV"表示Not oVerflow(OF=0),用"OV"表示OVerflow(OF=1)
方向標誌DF表示串操作時地址改變的方向,DF=0是地址增加,向上調整,用"UP"表示。DF=1是減小,用"DN"(DowN)
"EI"是Enable Interrupt,允許中斷,IF=1. "DI"是Deny Interrupt ,拒絕中斷,IF=0
"ZR"是Zero,運算結果為0,ZF=1。 “NZ”是Not Zero,結果不是0,ZF=0
其它幾個都類似這樣,一般教材上都有解釋。
這樣搞懂英文含義去記,就容易了。
當然,也可以死記硬背,只是效率低,難記,且記不牢。
只有BP作為間址暫存器時,段暫存器才預設使用SS。
用BX, SI, DI這三個暫存器作為間址暫存器時,都預設使用DS作為段暫存器。
SP是不可以作為間址暫存器使用的。它只是在堆疊操作時(比如PUSH,CALL等)與SS配合指示棧頂。它也可作為一般資料暫存器存放資料和參與運算。不過,由於堆疊的重要性,一般除了特別需要處理堆疊時才使用外,應儘量避免用它作資料寄存或運算。
要看出標誌位的值,最好是掌握標誌位的英文表示。
比如:
溢位標誌OF是Overflow Flag的縮寫,在DEBUG中用"NV"表示Not oVerflow(OF=0),用"OV"表示OVerflow(OF=1)
方向標誌DF表示串操作時地址改變的方向,DF=0是地址增加,向上調整,用"UP"表示。DF=1是減小,用"DN"(DowN)
"EI"是Enable Interrupt,允許中斷,IF=1. "DI"是Deny Interrupt ,拒絕中斷,IF=0
"ZR"是Zero,運算結果為0,ZF=1。 “NZ”是Not Zero,結果不是0,ZF=0
其它幾個都類似這樣,一般教材上都有解釋。
這樣搞懂英文含義去記,就容易了。
當然,也可以死記硬背,只是效率低,難記,且記不牢。