μĴCSSSESĴ
ڡȡԴBPַȡһʱ˿ɷֱʹμĴDSSSDS⣬ɷֱʹáCSSSES
CSDSES CSSSESȽ
.8086/8088ϵڴ洢ѰҴ洢Ԫʱַɣ
8086/8088ϵڴ洢ѰҴ洢ԪʱַɶλֵƫɣǶ16λŶ
.IBM PCڴijһԪַ12345Hвַͬʾ
١1234H0005_H
EA=
ֵ
+DISP=12340H+0005H=12345H
ڡ1200H0345H EA=λֵ+DISP=12000H+0345H=12345H
.ijûװڴSS=0950HSP=64HʸûĶջײֵԪַǶ٣
.ջμĴSS=3E4BHöջΪ200ֽڡԼջײֵԪַջָSPʼֵջûʱSPʼֵַָ
.ijûSP=30HAX=1234HDS=5678Hָ
PUSH
AX
PUSH DS
ִָкͼ2.18иԪǶ? (SP)=?
: (SP)=30H-4H=2CH
.IBM-PCϣֱ8λ־ĴOFZFSFCFֵǶ٣
١10101011+01010101 ۡ01010101-00111110 .裨SP=50H PUSH AX PUSH BX PUSH CX
ִָSP= 44H .裨SP=6EH POP POP
AX
ڡ11011010+11101101 ܡ10110011-01100010
ִָSP= 72H
3.1Էֱ˵иָԴĿIJʹõѰַʽ ١AND ڡAND ۡMOV ܡCMP
AX,0FFH BL,[0FFH]
DS,AX
Ѱַ ֱѰַ
ĴѰַ
[SI],CX ĴѰַ
ݡMOV ޡSUB ߡADC ࡢOR ᡢPUSH ⡢CMC
DS:[0FFH],CL ǰֱѰַ
ַַѰַ
[BP][SI],AH
AX,0ABH[BX] ַѰַ AX,-35[BX][DI] ַַѰַ
DS
ĴѰַ
Ѱַ
3.2ԷֱָиָǷддָʲô
١MOV ڡTEST ۡADD ܡAND ݡCMP ޡSHR ߡNOT ࡢLEA ᡢINC ⡢PUSH
[BX][BP],AX
BXBPѡһ
[BP],BL ȷ
ԴĿͬʱΪ洢 ͬһĴߡֽڲ ȷ ȷ
NOTָֻһ ȷ ȷ
ȷ
[SI],DA_BYTE DH,DL
CL,1234H [BX][DI],3 CX,AX
DS,35[SI] CX,1
45[DI]
3.3ִָк־ĴУãƣƣڣƣӣƺͣϣƷֱʲô״̬
ͣϣ ģ
ģ̣ ģ̣
ִָк
CF= AF= ZF= SF= OF=
3.48086/8088CPUпַָļĴЩ
3.5֪DS=091DHSS=1E4AHAX=1234HBX=0024H
CX=5678HBP =0024HSI=0012HDI=0032HԪ09226H=00F6H09228H=1E40H1E4F6H=091DH ¸ָηֱִкĽ?
١MOV ڡMOV ۡLEA MOV ܡLDS
MOV ݡXCHG
3.6֪SS=0915HDS=0930HSI=0A0H DI=1C0HBX80HBP=470H.һָ XCHG
CL,20H[DI][SI] [BP][DI],CX
BX,20H[BX][SI]
AX,2[BX]
SI,[BX][DI]
[SI],BX
CX,32H[BX] AX,[SI]