第 3 章 指令系统和寻址方式

Click here to load reader

Upload: lola

Post on 14-Jan-2016

149 views

Category:

Documents


0 download

DESCRIPTION

第 3 章 指令系统和寻址方式. 3.1 指令系统概述 3.2 8088/8086 CPU 的寻址方式 3.3 8088/8086 CPU 的指令系统 习题 3. 3.1 指令系统概述. 程序是指令的有序集合,指令是程序的组成元素,通常一条指令对应着一种基本操作。一台计算机能执行什么样的操作,能做多少种操作,是由该计算机的指令系统决定的。一台计算机的指令集合,就是该计算机的指令系统。每种计算机都有自己固有的指令系统,互不兼容。但是,同一系列的计算机其指令系统是向上兼容的。 - PowerPoint PPT Presentation

TRANSCRIPT

PowerPoint 3.1
3

3
3
8088/8086 CPU
3
3.2.1


MOV ALPORT1
MOV AXDATA1
“267”“10010011B AND 0FEH”PORT1EQUDATA1

3
3.2 8
3
3.3 16
3
3.2.2


3-4MOV AXBX
3
3
3.2.3
MOV AL[TABLE] MOV AL[TABLE+2]
MOV AL[1000H] MOV AL[1000H+2]
TABLE[TABLE][1000H]TABLE+2[TABLE+2][1000H+2]
3
DSIBM-PCDS

[] []
3
AL
3
2.

[]
3
(DS)=3000H(BX)=1010H(31010H)=12H(31011H)=24H20=30000H+1010H=31010H3.4
(AX)=2412H
(BX)AX
3
3.

[±]
3
ABC EQU 5
MOV ALABC[SI] MOV AL[ABC+SI]
[BX+6][BP-100H][SI+OFFSET TABLE]
3
3
(DS)=2000H(SI)=00A0H(201A0H)=12H(201A1H)=34H20=20000H+0100H+00A0H=20000H+01A0H=201A0H

3
4.

[][]
[BX][SI][BX+SI]



3
3.5
3

MOV ALTABLE[BX+SI]
MOV AL[TABLE+BX+SI]
3


20=20000H+1120H=21120H
(AX)=3412H
1.
3-1

MOV
3
CPUMOV MOV3.7
3
3.7 MOV
3
2) PUSHPOP
CSIP
3
PUSHPOP
3
3.8
3
3-20 XCHG BX[BP+SI]
(BX)=1234H(BP)=0100H(SI)=0020H(SS)=1F00H(1F120H)=0000H
=1F00H×10H+0100H+0020H
=1F00H×10H+0120H=1F120H
I/O88I/O16DXDX
3
2) OUT
3
(AL)8256
TABLE(BX)=0000H(DS)=2000HTABLE=20020H(BX)=0020H
2) LDSDS
3-23 LDS AXTABLE[SI]
(20050H)=12345678H(AX)=0000H(DS)=2000HTABLE=20020H(SI)=0030H=20020+0030H=20050H(AX)=5678H(DS)=1234H
3
3) LESES
3
1.
3-3
3-3
3) INC
3
ADD AXCX
3
3) DEC
0CF=0112832 768OF=10
3
5) CMP
3
3
SUB AXCX
SBB DXBX
1) MUL
3
3
1) DIV
3
3

3
IDIV DL AXDLALAH
DIV BYTE PTR[BP]
IDIV WORD PTR[AX] DXAX AX AXDX
3
5.
3
1) CBW
CBW
3
2) CWD
CWD

MOV ALNUMB
BCDBCDBCDBCDBCD4BCD4009ASCIIBCDBCDBCD
3
1) BCD
DAA
DAA
3
(1) AF=1(AL)4AHFH(AL)+06H(AH)←(AH)+1AF=1
(2) (AL)4
(2) (AL)4
ANDORXORTESTCF=0OF=0AFSFZFPF
3
1) AND
“∧”
0“1”“”0“0”“”
3
3-29 (AL)4
3
2) OR
“∨”
1“0”“”1“1”“”
3
3
3) XOR
3
3-34 (AL)33H
3
3
(g) (h)
22
3
3)
SHL AX1
MOV BXAX
SHL AX1
SHL AX1
ADD AXBX
3
3.3.4
1.
(2) (CX)←(CX)1
MOVS ESBYTE PTR[DI]DS[SI]
MVOS()1
3
(1) ((ES)(DI))←((DS)(SI))
(2) (SI)←(SI)±1(DI)←(DI)±1DF=0“+”DF=1“”(SI)←(SI)±2(DI)←(DI)±2DF=0“+”DF=1“”
3
3
2) LODS
1LODSB
2LODSW

3
(CX)≠0ZF=1)
(2) (CX)←(CX)1
3
(CX)
3
1) CMPS
1CMPSB
2CMPSW
(1) ((DS)(SI))((ES)(DI))
(2) (SI)←(SI)±1(DI)←(DI)±1DF=0“+”“”(SI)←(SI)±2(DI)(DI)±2DF=0“+”“”
3
MOV DIOFFSET BLOCK

3
=(CS)=1000H
3
3.12
3
(2)
2JMP
3
3.13
3
JMP
3
=(IP)+
(JMP )
(IP)←
JMP WORD PTR TABLE[BX] (JMP TABLE[BX])
(BX)=0005H(IP)=3412H3412H
3
3)
(IP)←
(IP)←
JMP DWORD PTR TABLE[BX]
JMP DWORD PTR [TABLE+BX]
(BX)=0005H(IP)=3412H(CS)=7856H7856H3412H
JMP
3
2.
3
(2)

3
3

(1) SZCPO5“0”“1”103-10
3
3-10
3
(2) 3-11CFCF=1CF=0CF=1CF=0ZF=0CF=0ZF=1
3
3-11
MOV BXTABLE
MOV AXX
CMP AXBX
3
(3) 3-12SFSF=1SF=0OF=0OF=1SFSF=0SF=1OF=0SF=1OF=1SF=0SF∨OF=1OF=0SF=0ZF=0OF=1SF=1(ZF=0)(SF∨OF)∨ZF=0
3
3-12
3
1) CALL
(1)
(CALL )
10001003H


(SP)←(SP) 2
((SP)+1(SP))←(CS)
P1 ENDS
P2 SEGMENT
3
(3)
3
(4)
3
2) RET
3-13 RET
CALLRETCALLRET
3
3-14
3
3
3-15
3
3
3) WAIT
WAIT

80878088/80868087
3
4) LOCK
LOCK
3
5) ESC
MOV AX[1234H]
3
3.3 (DS)=2000H(BX)=0100H(SS)=1000H(BP)=0010HTABLE2000AH(SI)=0002H
MOV AX[1234H]
MOV AX[BX]
3.5 AX
ABC EQU 2
DATA1 DB 20H
DATA2 DW 1000H
3
(1) JMP NEAR PTR
3
3.8 (CS)=2000H(IP)=2000HNEXT3000H1000H(DS)=1000H(BX)=1000H(11000H)=00H(11001H)=03H(11002H)=00H(11003H)=30HARRAY0300H(ARRAY+2)=3000H
(1) JMP FAR PTR NEXT
(2) JMP DWORD ARRAY
3.12 XLATALXLATBCD09ASCIIASCIIARRAY
3
3.13 ADDBXES
3.14 INC [BX]
3.15 (AX)=0001H(BX)=0FFFFHADD AXBXZFSFCFOF
3.16 AX4130789
3.17 AX(AX)=1234H