3 8086 Tel:2656809 tjx@csu.edu.cn 2005-9-14 1
2005-9-14 2 8086 8 8086 8086 7
2005-9-14 3 PC
2005-9-14 4
2005-9-14 5 81616
2005-9-14 6 [ ] MOV AX, 3064H AX=3064H 16AX OP 64H 30H
2005-9-14 7 16 AX BX CX DX SI DI SP BP 8 AH AL BH BL CH CL DH DL MOV AX, BX AX=30AAH, BX=7255H AX=7255H, BX=7255H
2005-9-14 8 EA
EA + 2005-9-14 9
MOV AX, [2000H] DS=3000H =30000+2000=32000H AX=7850H (32000H)=50H (32001H)=30H AX=3050H (32000H)=50H (32001H)=30H DS=3000H AH AX AL DS 30000H 32000H 32001H 2005-9-14 10
MOV AX, ES:[2000] MOV AX, SS:VALUE ES=4000H, =40000+2000=42000H 42000H AL 42001H AH VALUEEQU SS=8000H VALUE=178EH 80000+178EH=8178EH 2005-9-14 11
2005-9-14 12 DSEG SEGMENT DATA DB10 DUP(?) DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG, DS:DSEG START: MOV AX, DSEG MOV DS, AX MOV AL, 01H MOV DATA, AL MOV DL, DATA
MOV AX, DSEG MOV DL, DATA DSEG DATA Disp 2005-9-14 13
2005-9-14 14 BX BPSI DI BX SI DI =16 DS+BX =16*DS+SI =16 DS+DI BP SS =16 SS+BP
MOV AX, SS:[BX] MOV AX, [BX] MOV AX, SS:[BX] =16 SS+BX MOV AX,[BX] =16 DS+BX SS=5A00H, BX=2800H 5C800H() 5C801H() 2005-9-14 15
AH AX AL SS 5A000H 5C800H 5C801H 2005-9-14 16
2005-9-14 17 816displacement EA= BX BP SI DI 8 16 816 8 16
2005-9-14 18 BX SI DIDSBP SS : BX =16 DS+ SI + DI 8 16 EA =16 SS+BP+ 8 16
MOV DL, ES:STRING [DI] STRING EQU STRING EQU 3FFEH EA=STRING+DI ES =16 ES+STRING+DI 2005-9-14 19
BX DS BP SS =16 DS+BX+SI =16 DS+BX+DI =16 SS+BP+SI =16 SS+BP+DI 2005-9-14 20 EA
MOV AX, [BX] [DI] MOV AX, [BX+DI] DS=3000H, BX=6780H DI=0041H EA=6780H+0041H =37000+67C1H=367C1H AX=8957H (367C1H)=34H (367C2H)=12H AX=1234H (367C1H)=34H (367C2H)=12H AH AX AL DS 30000H 34 12 367C1H 367C2H 2005-9-14 DS=3000H BX+DI=67C1H 21
2005-9-14 22 816 BX DS BPSS =16 DS+BX + SI + DI =16 SS+BP + SI + DI
2005-9-14 23 EA
2005-9-14 24 MOV AX MASK [BX] [SI] MOV AX MASK [BX+SI] MOV AX [MASK+BX+SI] DS=5000H BX=1C7AH SI=0135H MASK=0200H =50000+1C7AH+0135+0200=51FAFH AX=765AH (51FAFH)=78H (51FB0H)=56H AX=5678H (51FAFH)=78H (51FB0H)=56H BP
2005-9-14 25 MOV AX MASK [BX] [SI] MOV AX MASK [BX+SI] MOV AX [MASK+BX+SI] MOV AX [BX+SI]+MASK BX+DI+MASK AX AH AL DS 30000H 78 56 51FAFH 51FB0H
2005-9-14 26 DAA ALAL I/O 8 16DX
2005-9-14 27 8086 1~7 1 2 3
OP6 2 W=1 W=0 D=1 REG D=0 REG D W 2005-9-14 28
SW=00 SW=11 16 SW=10 8 16 S W 2005-9-14 29
2005-9-14 30 8086
2005-9-14 31 REG MODR/M MOD=11 MOD=00 MOD=01 MOD=10
2005-9-14 32 ) ) 000 AX AL 011 BX BL 001 CX CL 010 DX DL 100 SP AH 111 DI BH 101 BP CH 110 SI DH
2005-9-14 33 MOD R/M 00 01 10 11 W=0 W=1 0 0 0 [BX]+[SI] [BX]+[SI]+D8 [BX]+[SI]+D16 AL AX 0 0 1 [BX]+[DI] [BX]+[DI]+D8 [BX]+[DI]+D16 CL CX 0 1 0 [BP]+[SI] [BP]+[SI]+D8 [BP]+[SI]+D16 DL DX 0 1 1 [BP]+[DI] [BP]+[DI]+D8 [BP]+[DI]+D16 BL BX 1 0 0 [SI] [SI]+D8 [SI]+D16 AH SP 1 0 1 [DI] [DI]+D8 [DI]+D16 CH BP 1 1 0 D16 [BP]+D8 [BP]+D16 DH SI 1 1 1 [BX] [BX]+D8 [BX]+D16 BH DI
2005-9-14 34 SEG 01 11 00 10 CS DS ES SS
2005-9-14 35
2005-9-14 36
2005-9-14 37
2005-9-14 38
2005-9-14 39
2005-9-14 40 14,
2005-9-14 41 CS,DS,ES,SS AX BX CX DX AH AL BH BL SI DI SP BP CH CL DH Dl
2005-9-14 42 MOV MOV DST, SRC AX AX MOV
CPU MOV AL, BL MOV DL, CH MOV AX, DX MOV CX, BX CPU MOV CL, 4 MOV AX, 0FFA0H MOV SI, 057BH 2005-9-14 43
2005-9-14 44 CPU MOV BYTE PTR MEM, 20H MOV WORD PTR [BX], 0A234H MOV AL, BUFFER MOV AX, [SI] MOV [DI], CX MOV SI, BLOCK[BP] MOV DS, DATA[SI+BX] MOV DEST[BP+DI], ES
2005-9-14 45 PUSH PUSH SRC (SP) (SP) 2 ((SP)+1, (SP)) (SRC) POP POP DST (DST) ((SP)+1, (SP)) (SP) (SP)+2
2005-9-14 46 XCHG XCHG OPR1,OPR2 (OPR1) (OPR2)
2005-9-14 47 AX AL IN(Input) OUT(Output) XLAT(Translate)
2005-9-14 48 IN(Input) IN AL PORT IN AX PORT PORT 00H FFH256 FFH PORT AL AL (PORT) PORT PORT+1 (1 )AX AX (PORT+1) (PORT)
2005-9-14 49 OUT(Output) OUT PORT AL OUT PORT AX PORT IN AL PORT (PORT) AL AX PORT PORT+1 ( ) (PORT+1) (PORT) AX
2005-9-14 50 IN IN AL DX IN AX DX DX 0000H FFFFH 65536 DX AL AL (DX) DX AX AX (DX+1) (DX) DX
2005-9-14 51 OUT OUT DX AL OUT DX AX ALDX (DX) AL AX DX DX+1 (DX+1) (DX) AX DX
2005-9-14 52 3-8 MOV DX 07A8H OUT DX AL AL 07A8 OUTDX=07A8H (07A8H)=85H AL C6H OUTDX=07A8H (07A8H)=C6H AL C6H 3-9 IN AX, 28H 28 AL MOV DATA-WORD, AX 28AX DATA-WORD 3-10 MOV DX 3FCH IN AL DX 03FCHAX 3-11 OUT 5 AL AL 5
2005-9-14 53 XLAT XLAT OPR XLAT (AL) ((BX) +(AL)) ASCII0~9 7
2005-9-14 54 XLAT XLAT BX 8 AL XLAT XLAT
2005-9-14 55 (BX) =0040H (AL)=0FH (DS)=F000H XLAT F004FH AL: (AL)=2CH XLAT AL 2CH
2005-9-14 56 F0040H F004FH
XLAT XLAT-3 TABLE0 9 0 9 DATA SEGMENT ; TABLE DB 0,1,2,3,4,5,6,7,8,9 ; TABLE0 9 DATA ENDS CODE SEGMENT ; MOV BX, OFFSET TABLE ; BX MOV AL, 4 ;4 AL XLAT ;16 AL CODE ENDS Table + 0 + 1 + 2 + 3 + 4 + 9 2005-9-14 57 4 9 16
8086 8088 LEA(Load Effective Address) LDS(Load Ds with pointer) DS LES(Load Es with pointer) ES 2005-9-14 58
LEA LEA REG, SRC SRCREG 16 LEA BX BUFR BUFR BX BX=508AH BUFR =7865H EA=7865H BX=7865H BUFR =7865H 2005-9-14 59
2005-9-14 60 LEA SP, [BX] LEA SP, [BX] MOV SP, [BX] BX SP BX SP BX=1234H DS=2000H
2005-9-14 61 BX SP 1234 DS 20000 1234 DS 20000 1234 BX BX 78 56 21234 21235 SP 5678 78 56 21234 21235 (1) LEA SP[BX] (2) MOV SP[BX]
2005-9-14 62 LDS LDS REG, SRC (4Bytes) DS 16 LDS SI [BX] BX32 DSSI
2005-9-14 63 LDS BX ADDR[SI] DS=2000H SI=1000H ADDR=0020H 20000 + 1000 + 0020 =21020H BX= 6D51H BX=1080H DS=4000H
2005-9-14 64 DS 20000 ADDR[SI] 80 21020 BX 6D50 10 00 21021 21022 DS 2000 40 21023 (1) LDS BX, ADDR[SI]
DS 20000 ADDR[SI] BX 1080 4000 DS 80 10 00 40 21020 21021 21022 21023 DS 40000 2005-9-14 65
LES LES REG, SRC (4Bytes) ES 16 LES DI [2180] 32 2180 2180 H 2181 H DI 2182 H 2183 HES LESLDS ESDS 2005-9-14 66
2005-9-14 67 (1)LAHF (Load AH with Flags) AH LAHF (AH) (PSW ) (2)SAHF (Store AH into Flags) AH SAHF (PSW ) (AH) (3)PUSHF (Push the Flags) PUSHF (SP) (SP)-2 ((SP)+1 (SP)) (PSW) (4)POPF (POP the Flags) POPF (PSW) ((SP)+1 (SP)) (SP) (SP)+2
2005-9-14 68
2005-9-14 69
2005-9-14 70 8086????? BX BP SI DI??
???? XCHG CS AX MOV [BX] [1000] XCHG BX IP PUSH CS POP CS 2005-9-14 71