.
CSDSES CSSSESȽ
.8086/8088ϵڴ洢ѰҴ洢Ԫʱַɣ
8086/8088ϵڴ洢ѰҴ洢ԪʱַɶλֵƫɣǶ16λŶ
.IBM PCڴijһԪַ12345Hвַͬʾ
١1234H0005_H EA=λֵ+DISP=12340H+0005H=12345H ڡ1200H0345H
.ijûװڴSS=0950HSP=64HʸûĶջײֵԪַǶ٣
.ջμĴSS=3E4BHöջΪ200ֽڡԼջײֵԪַջָSPʼֵջûʱSPʼֵַָ
.ijûSP=30HAX=1234HDS=5678Hָ
PUSH PUSH
AX DS
EA=λֵ+DISP=12000H+0345H=12345H
ִָкͼ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 ݡMOV ޡSUB ߡADC ࡢOR ᡢPUSH
AX,0FFH
Ѱַ ֱѰַ ĴѰַ ĴѰַ
BL,[0FFH] DS,AX [SI],CX
DS:[0FFH],CL ǰֱѰַ [BP][SI],AH ַַѰַ AX,0ABH[BX] ַѰַ AX,-35[BX][DI] DS
ַַѰַ
ĴѰַ
.
.
⡢CMC
Ѱַ
3.2ԷֱָиָǷддָʲô
١MOV ڡTEST ۡADD ܡAND ݡCMP ޡSHR ߡNOT ࡢLEA ᡢINC ⡢PUSH
[BX][BP],AX [BP],BL
BXBPѡһ ȷ
ԴĿͬʱΪ洢 ͬһĴߡֽڲ ȷ ȷ
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 XCHG
3.6֪SS=0915HDS=0930HSI=0A0H DI=1C0HBX80HBP=470H.һָ MOV
AX,OPRDԴַΪ095C0H4ֲͬѰ
CL,20H[DI][SI] [BP][DI],CX BX,20H[BX][SI] AX,2[BX] SI,[BX][DI] [SI],BX CX,32H[BX] AX,[SI]
ַʽдָҪÿ֪ҪʹһΣ
3.7֪DS=1234HSI=124H12464H=30ABH12484H=464H
LEA
SI, [SI]
.