8086cpu 指令系统

Download 8086CPU  指令系统

If you can't read please download the document

Upload: natara

Post on 08-Jan-2016

123 views

Category:

Documents


11 download

DESCRIPTION

8086CPU 指令系统. 教师: 王晓甜 [email protected]. 提纲. 1. 汇编语言基本概念. 2 . 汇编语言 指令分类. 3 . 数据与转移地址的寻址方式. 4. 8086 的六类指令. 5. 总结. 1. 汇编语言基本概念. 什么是 语言 ?. 沟通与交流,让别人领会你的意图,知道该为你做什么事的工具. 各国语言 有时需要翻译. 机器语言 有时需要翻译. 10110000B. 00010010B. 1. 汇编语言基本概念. 什么是 机器语 言 ?. 人向机器发送号令,让机器能读懂的语言. - PowerPoint PPT Presentation

TRANSCRIPT

PowerPoint Template

8086CPU [email protected]

1. 2. 3. 4.80865. [email protected]

1.

[email protected]

1. 01011101100010100.10110000B00010010B; CPUAL [email protected]

CPU10110000B00010010BMOV AL [email protected]

1. X=A+B ABAB [email protected]

1. CPU CPU [email protected]

1. [email protected]

1. MASM.EXEMOV AL , 12HADD AX , 0002H05 02 00B0 [email protected]

1. 7. .ASMMASM.EXE .ASM .OBJLINK.EXE .OBJ .EXE [email protected]

2. [email protected]

2.1. CPU [email protected]

2.2. CPUMASM.EXE [email protected]

2.3. 8086 [email protected]

2..

[email protected]

2.

[email protected]

[email protected]

2. [][][email protected]

2. CLIPSWIF PUSH AXAXMOV [email protected]

2.MOV AL10H 12 SRCDSTMOV AL, 80H 80HAL 80H80HINC CXCXCX (CX) (CX)-1CLDDF DF0

[email protected]

202.

L1 MOV AX, CX . . .JUMP L1

JUMP L1LOOP [email protected]

2.

DATA DB 20H, 30H, 11H, 0AH DATA420HDATA30HDATA+111H0AHDATA+3DATA+2MOV AL, DATAMOV AL, DATA+2 [email protected]

2.MOV AL10HADD [email protected]

[email protected]

2.Little quizMOV BXAXMOV BX1034HMOV 10HALMOV BXALADD BXAXADD BXDATA+1ADD BX45HADD 45HBXMOV DATADATA+1ADD [email protected]

2.. 1.2. 3. [email protected]

2.1.() MOV AL , 12 MOV AL , 0CH MOV AL , 00001100B MOV AL , 14Q [email protected]

2.2. MOV DL , A ; DL 41HBUF DB 12Aa 12Aa BUF4 [email protected]

2.3.+-*/MODADDORXORNOTEQ()NE()LT() GT()LE()GE()[email protected]

2.MOV AL , 5+2*3 MOV AL , 11 MOV AL , 11/2 MOV AL , 05H; MOV AL , 11MOD 2 MOV AL , 01H; [email protected]

2.MOV AL , 0CCH AND 0F0HMOV AL , 0C0HAND AL , 0CCH OR 0F0HAND AL , [email protected]

2.10 MOV AL , 04H LT 05H ;MOV AL , [email protected]

2.

[email protected]

2. [email protected]

2.1. JMP LAB1 LAB1: MOV AX ,0 [email protected]

2.

[email protected]

2.2. DATA DB 20H, 30H, 11H, 0AH 20HDATA30HDATA+111H0AHDATA+3DATA+2MOV AL, DATAMOV AL, [email protected]

2.DATA DB 20H, 30H, 11H, 0AH 2.20H1001:1000H30H1001:1001H11H0AH1001:1003H1001:1002HDATA [email protected]

2.DATA DB 20H, 30H, 11H, 0AH DB() [email protected]

2. [] DB [] DW [] DD [] DQ [] DT [email protected]

2.DATA DB 20H, 30H, 11H, 0AH DATA1 DW 20H, 30H, 11H, 0AH 20H30H11H0AHDATA00H00H11H0AH20H30H00H00HDATA1DATA+1DATA1+1xtwang@mail.xidian.edu.cn

2.

1() DUP DATA DB 20H, 30H, 11H, 0AHDATA1 DB 0123DATA2 DW AB, C, DDATA3 DW ? DATA4 DB 3 DUP(?)3 [email protected]

2.

DB ASCII DATA1 DB 0123DATA1 012330H31H32H33H1500H:0000H1500H:[email protected]

2.

DW , ASCII00HDATA1 BAC42H41H32H33H1500H:0000H1500H:0001HDATA1 DW AB, C, DD00H00H00H00H1500H:[email protected]

2.

DS=1500H0000HDAT1 DB 12-1212HDAT2 DB 2*33+2DAT3 DW 02H567AHDAT4 DD 89HDAT5 DB THISDAT7 DB 3 DUP (00H)DAT9 DW DAT6DAT8 DW 3 DUP (?)DAT10 DD DAT8DAT11 DB ?DAT6 DW AB, C1500H:[email protected]

2.DAT1 DB 12-1212HDAT2 DB 2*33+2DAT3 DW 02H567AHDAT1OCHOF4H12H06H1500H:[email protected]

2.DAT4 DD 89HDAT489H00H00H00H1500H:0009H000DHDAT5DAT5 DB THIS`T``H``I``S`[email protected]

2.DAT6BAC00H1500H:0011HDAT6 DW AB, C,[email protected]

2.1500H:0017HDAT7DAT8DAT7 DB 3 DUP (00H)DAT8 DW 3 DUP (?)[email protected]

492.DAT9DAT9 DW DAT6DAT10 DD DAT8DAT11 DB ?1500H:0020H11H00H1500H:[email protected]

2.

SEGOFFSETTYPELENGTHSIZEDUP [email protected]

2.DAT1 DB 12-1212HDAT2 DB 2*33+2DAT3 DW 02H567AHDAT4 DD 89HDAT5 DB THISDAT7 DB 3 DUP (00H)DAT9 DW DAT6DAT8 DW 3 DUP (?)DAT10 DD DAT8DAT11 DB ?DAT6 DW AB, CSEGOFFSETTYPELENGTHSIZE1500H0000H1110003H1110005H2120009H414000DH1110011H2120017H133001AH2360020H2120022H4140026H111xtwang@mail.xidian.edu.cn

2.MOV AX , SEG DAT1 ; (AX)=1500H MOV AX , SEG DAT10 ; (AX)=1500HMOV AX , OFFSET DAT3 ; (AX)=0005HMOV AL , TYPE DAT3 ; (AL)=02HDAT3 DW 02H567AH

MOV AH , SIZE DAT3 ; (AH)[email protected]

2.PTR PTR BYTE/WORD/DWORD NEAR()/FAR DAT3 DW 02H567AHMOV DB PTR DATA3 [email protected]

2.2.STACK SEGMENT STACK STACK DW 100H DUP(?)TOP LABEL WORDSTACK ENDS

DATA SEGEMNT DATA1 DB 01H, 02H, ABCDDATA2 DATA ENDS

CODE SEGMENT ASSUME CS: CODE, DS: DATA, ES:DATA, SS: STACK

START: MOV AX, DATA MOV DS, AX MOV ES, AX MOV SS, AX LEA SP, TOP

CODE ENDS END START

[email protected]

8086CPU [email protected]

56 1. 2. 3. 4.80865. [email protected]

573. MOV AXBX

[email protected]

583. [email protected]

593. 8(Immediate Addressing )(Register Addressing )(Memory Addressing )5(Hidden Addressing )CPU/[email protected]

603. MOV AX1200H12H00HAH ALMOV REGM MOV 12H , AL ()Immediate [email protected]

613. CPUMOV AXBX AX BXCS Register [email protected]

623. 3.1 [email protected]

633. 3.1 Direct Addressing 161MOV AX, [1200H]DS3000H

AX [email protected]

643. 3.1 Direct Addressing MOV AXES[1200H]

ES= 1500HAX1500H:1200H = 1500H * 16 + 1200H = 15000H + 1200H = [email protected]

653. /MOV AXES[1200H]

3.1 Direct Addressing [email protected]

663. 4(DS)=1500H,TABLEDS0004HCPU MOV AX ,TABLE 1 5 0 0 0 H +DS 0 0 0 4 H PA=1 5 0 0 4 H A H A L 15004H15005HTABLE3.1 Direct Addressing [email protected]

673. 5VAR1 VAR2VAR3SRCDST MOV AX , VAR1 SRC DST MOV AX , VAR2

MOV VAR2, VAR3 MOV [0200H] ,12H [email protected]

683. 65 MOV AX , VAR2 MOV AL , VAR2 MOV VAR2, VAR3 MOV AL ,VAR3 MOV VAR2 ,AL MOV [0200H] ,12H MOV BYTE PTR [0200H] ,12H MOV WORD PTR [0200H] ,[email protected]

693. 3.2 Register Indirect Addressing [email protected]

703. 3.2 Register Indirect Addressing1MOV AX , [BX] SRC DST AX (DS:(BX)) DS=3000H , BX=1050H SRCPA=(DS) 16+(BX) =30000H+1050H [email protected]

713. 3.2 Register Indirect Addressing2MOV ES:[SI] , AL (ES:(SI)) (AL) ES=4000H , SI=1234H,(AL)=23H DST PA=(ES)16+(SI) =40000H+1234H =41234H (41234H)=23H.

[email protected]

723. 3.2 Register Indirect Addressing3SRCDST MOV [BX], [SI] ; MOV AL , [SI] MOV [BX] , AL [email protected]

733. MOV [DI] ,12H MOV WORD PTR [DI] , 12H MOV [SI] ,CX DST [email protected]

743. 3.3Register Relative Addressing MOV AX , [BX] + 05H DISP+ [email protected]

753. EA=BPSIBXDI8DISP16DISP+ DISPBXSIDIDSBPSS DISPMOV AX ,TABLE [BP]AX (DS: OFFSET TABLE+(BP))[email protected]

763. 3.3Register Relative Addressing 1MOV AX , [BX]+05H SRC

DS=2000H , BX=0008H, PA=(DS)16+(BX)+05H =20000H+0008H+05H =2000DH[BX+05H]05H[BX]05H+[BX]

[email protected]

773. 1MOV AX , [BP]DS=1050H , BP=0050H,

PA=(SS)16+(BP)+00H =10500H+0050H+00H =10550H3.3Register Relative Addressing 2(DS)=1500H, TABLEDS0004H,(BP)=0003H MOV AX ,TABLE [BP]AX (DS: OFFSET TABLE+(BP))3 MOV AX, TABLE[BP-2]

AX (DS: OFFSET TABLE+(BP)-2)[email protected]

78 BX,DSBP,SS3. 3.4Based Indexed Addressing

BPBXSIDIEA=+BPBXSIDIMOV AX , [BX][SI]MOV AX , [BP][SI][email protected]

793. 1MOV AX , [BX][SI] (AX) (DS:(BX+SI)) 2MOV AX , [BP][SI]

(AX) (SS:(BP+SI))3MOV [BP][DI] , AL

(SS:(BP+DI)) (AL)

3.4Based Indexed Addressing 01H23H76H0AAH55HABC11H31H65H0FFH00H77H81H97HDS0003HDS0004HDS0005HDS0006HDS0007HDS0008HDS0009HDS000AHSS0003HSS0004HSS0005HSS0006HSS0007HSS0008HSS0009HSS000AHBX=0000H, SI=0005HBP=0003H, DI=0005H [email protected]

803. 3.5 Based Indexed Relative Addressing BPBXEA=8DISP16DISP+SIDI+ BXDSBPSS DISPMOV AX , [BX][DI]04 MOV DS:[BP][DI]+04H , [email protected]

813. 1 MOV AX , [BX][DI]04

(AX) (DS:(BX+DI+04H)) 2MOV AX , [BP][DI]04

(AX) (SS:(BX+DI+04H))

3MOV DS:[BP][DI]+04H , AL

(DS:(BX+DI+04H)) (AL)

3.5 Based Indexed Relative Addressing 01H23H76H0AAH55HABC11H31H65H0FFH00H77H81H97HDS0003HDS0004HDS0005HDS0006HDS0007HDS0008HDS0009HDS000AHSS0003HSS0004HSS0005HSS0006HSS0007HSS0008HSS0009HSS000AHBX=0000H, SI=0005HBP=0003H, DI=0002H [email protected]

823. Hidden Addressing MUL BL ALBLAX CLI IF [email protected]

833. 2SRCDST MOV AX, [BX][SI] SRC DST MOV AX, BL

MOV [BP], [DI+01H] MOV [BX][DI]+02H ,12H [email protected]

843. CS IP CSIP CPUIP 1IPREGCSIPCSIP [email protected]

853. IPCS:IP, IPNEAR CSIPFAR [email protected]

863. JMP JMP OPROPR 8086JMPCALLRETIRET:[email protected]

873. 4

[email protected]

883. IP

1.Direct addressing within same segment ()16JMP

JMP LABEL LABEL [email protected]

893. 16DISP

L1:

DISPIP-32768+32767??H??HIP=IP+16DISPJMP L1 JMP NEAR PTR [email protected]

903. 2.(Indirect addressing within same segment)165JMP BXBXJMP VAR1 VAR1JMP VAR1[SI]; SIOFFSET VAR1 [email protected]

913. DS=2000H,(BX)=0100H,(SI)=0002H, (20100H)=1200H,(20102H)=1250H, CPU

JMP BX (IP)=0100H

JMP WORD PTR [BX]IP=1200H

JMP WORD PTR [BX][SI][email protected]

923. 1. Direct addressing between different segments (CSIP)

1616JMP JMP LABEL LABEL LABEL [email protected]

933. SEG LABEL

LABEL:

??H??HJMP FAR PTR LABEL**H**HXXHOFFSET LABEL12;????:****[email protected]

943. 2. Indirect addressing between different segments325JMP VAR3 VAR3JMP VAR1[SI]; SIOFFSET VAR3 [email protected]

953. [email protected]

963. :JMP DWORD PTR [BX][DI](DS)=3000H(BX)=1000H(DI)=2000H,IPCS 33000H82000H80H20H00H05H00H DS: 3 0 0 0 BX: 1 0 0 0DI: 2 0 0 0 3 3 0 0 0 H+CS: 8 0 0 0IP: 2 0 0 0 8 2 0 0 0 [email protected]

973. 4

[email protected]

983. 8(Immediate Addressing ) MOV AL , 20H(Register Addressing ) MOV BX, AX(Memory Addressing )5 MOV AL, [1200H] MOV AL, [BX] MOV AL, [BX]+03H MOV AL, [BX][SI] MOV AL, [BX][SI]04H(Hidden Addressing ) STI [email protected]

993.

JMP LABEL LABLE JMP BXJMP VAR1JMP VAR1[SI] JMP LABEL LABLE JMP VAR3 VAR3 JMP VAR1[SI]; SIOFFSET VAR3 [email protected]

100www.themegallery.comThank You !

101