微机原理及应用第三章指令系统Word文档下载推荐.docx

上传人:b****6 文档编号:16159104 上传时间:2022-11-21 格式:DOCX 页数:53 大小:52.71KB
下载 相关 举报
微机原理及应用第三章指令系统Word文档下载推荐.docx_第1页
第1页 / 共53页
微机原理及应用第三章指令系统Word文档下载推荐.docx_第2页
第2页 / 共53页
微机原理及应用第三章指令系统Word文档下载推荐.docx_第3页
第3页 / 共53页
微机原理及应用第三章指令系统Word文档下载推荐.docx_第4页
第4页 / 共53页
微机原理及应用第三章指令系统Word文档下载推荐.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

微机原理及应用第三章指令系统Word文档下载推荐.docx

《微机原理及应用第三章指令系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机原理及应用第三章指令系统Word文档下载推荐.docx(53页珍藏版)》请在冰豆网上搜索。

微机原理及应用第三章指令系统Word文档下载推荐.docx

8086CPU的操作码段

一字节操作码

二字节操作码

3:

8086CPU的操作数段

操作数段字节数从0字节到4字节,由寻址方式确定

操作数的存在形式

1):

隐含在操作码段

操作数本身

3):

操作数在寄存器中

4):

操作数在存储器中

C:

指令中的操作数

无操作数,指令中虽未显示给出操作数,但操作数存在

单操作数,指令中仅有源操作数或者目的操作数出现

双操作数,指令中有源操作数,目的操作数出现

二:

8086CPU通用指令格式

计算机中的指令集

复杂指令集——CISC(ComplexInstructionSetComputer)

指令比较复杂,每条指令的字节长度不一致,指令种类多

以Intel公司为代表的CPU,例如8086CPU芯片

精简指令集——RISC(ReducedInstructionSetComputer)

指令比较简单,每条指令的字节长度一致,指令种类少

以IBM公司为代表的CPU,例如POWERPC芯片

2:

8086CPU指令为可变字节机器码,由1~6字节机器码组成

A:

一字节操作码指令格式:

特殊性和规律性

B:

二字节操作码通用指令格式:

由80页图3-1定义

例:

指令助记符机器码字节数操作数存在形式

DAA27H(码)1隐含在操作码中

PUSHAX50H(码)1隐含在操作码中

MOVAL,20HB0H(码),20H(数)2操作数本身

MOVCX,AX8BH,C8H(码)2操作数在寄存器中

MOVAX,3000HB8H(码),00H,30H(数)3操作数本身

ADDAX,[BX+2000H]03H,87H(码),00H,20H(数)4操作数在存储器中

A:

B1字节的定义(基本操作码定义)

b2~b7(OP)2^6=64种基本的操作码头

b1(D)寄存器操作数的位置

注:

D值影响B2中REG的确定

D=0寄存器操作数为源操作数

D=1寄存器操作数为目的操作数

b0(W)操作数的类型

W=0字节操作数,8bit

W=1字操作数,16bit

B2字节的定义(寻址方式定义)

b6~b7(MOD)寻址方式定义

b7,b6=11寄存器寻址方式

b7,b6!

=11存贮器寻址方式

b3~b5(REG)寄存器名编码

b5b4b3

W=0(8位寄存器)

W=1(16位寄存器)

000

AL

AX

001

CL

CX

010

DL

DX

011

BL

BX

100

AH

SP

101

CH

BP

110

DH

SI

111

BH

DI

b0~b2(R/M)寄存器名/存贮器寻址方式编码

寄存器名编码同上

b2b1b0

MOD=00

MOD=01

MOD=10

[BX+SI]

[BX+SI+D8]

[BX+SI+D16]

[BX+DI]

[BX+DI+D8]

[BX+DI+D16]

[BP+SI]

[BP+SI+D8]

[BP+SI+D16]

[BP+DI]

[BP+DI+D8]

[BP+DI+D16]

[SI]

[SI+D8]

[SI+D16]

[DI]

[DI+D8]

[DI+D16]

未用

[BP+D8]

[BP+D16]

111

[BX]

[BX+D8]

[BX+D16]

B3~B6字节的定义(操作数或操作数存放的方式定义)

操作数段的字节数量由操作码功能及操作数位数确定

例:

指令MOVCX,AX的机器码为8BH,C8H,

分析机器码

B1=8BH=10001011B

OP=100010基本操作码头

D=1CX为目的寄存器操作数,CX在B2中的REG编码

W=1CX,AX为字操作数,AX在B2中的R/M编码

B2=C8H=11001000B

MOD=11寄存器寻址方式

REG=001目的寄存器操作数CX的编码

R/M=000源寄存器操作数AX的编码

指令MOVAX,CX的机器码为8BH,C1H,

D=1AX为目的寄存器操作数,AX在B2中为REG编码

W=1AX,CX为字操作数,CX在B2中为R/M编码

B2=C8H=11000001B

REG=000目的寄存器操作数AX的编码

R/M=001源寄存器操作数CX的编码

注:

在寄存器寻址方式(源,目的操作数均为寄存器),

D必为1,即指向目的寄存器,相同指令形式时,

机器码B1字节不变,B2字节变

C:

指令ADDAH,[BX+20H]的机器码为02H,67H,20H,分析机器码

B1=02H=00000010B

OP=000000基本操作码头

D=1AH为目的寄存器操作数,AH在B2中为REG编码

W=0AH为字节操作数,[BX+20H]在B2中为R/M编码

B2=67H=01100111B

MOD=01存储器寻址方式

REG=100目的寄存器操作数AH的编码

R/M=111源存储器操作数[BX+D8]的编码

B3=20H存储器相对寻址中的D8值

D:

指令ADD[BX+20H],AH的机器码为00H,67H,20H,分析机器码

B1=00H=00000000B

D=0AH为源寄存器操作数,AH在B2中为REG编码

W=0AH为字节操作数,[BX+20H]在B2中为R/M编码

REG=100源寄存器操作数AH的编码

R/M=111目的存储器操作数[BX+D8]的编码

在存储器寻址方式(源,目的操作数分别为寄存器及存储器),D可变,并且总是指向寄存器,相同指令形式时,机器码B1字节变,B2字节不变

3.28086CPU的寻址方式

定义:

确定操作数存在的方式,称为寻址方式

寄存器寻址方式

定义:

操作数隐含在寄存器中

1:

一字节操作码形式(与图3-1定义无关)

指令助记符

机器码

功能

PUSHAX

50H(码)

(AX)→[SS:

SP]

POPBX

5BH(码)

(BX)←[SS:

二字节操作码形式(遵循图3-1定义)

功能

MOVAX,BX

8BH,C3H(码)

(AX)←(BX)16位

MOVCL,BH

8AH,CFH(码)

(CL)←(BH)8位

 

AX―寄存器名,(AX)―寄存器中的值,[]―表示存储器注:

PUSHAL错堆栈操作必须为16位

MOVCL,BX错源,目的操作数数据类型必须一致

二:

立即寻址方式(与图3-1定义无关)

定义:

操作数真实地在操作码后,

既操作数为指令的一部分在代码段中

8位立即数形式

MOVAL,20HB0H(码),20H(数)(AL)=20H

16位立即数形式

MOVAX,2000HB8H(码),00H,20H(数)(AX)=2000H

《例》将立即数2050H赋给寄存器AX,BX的指令编程

立即寻址方式

MOVAX,2050H3字节机器码

MOVBX,2050H3字节机器码,共6字节

寄存器寻址方式

MOVBX,AX2字节机器码,共5字节

三:

存储器寻址方式

操作数段为操作数存放的地址值,而非真实操作数

特点:

(1).寻址方式多样,灵活,应用广泛

(2).需进行地址运算,相对速度较慢

条件:

指令中仅有一个存储器操作数,可以是源或者目的操作数

形式:

存储器操作数助记符表示为[]

直接寻址方式(与图3-1定义无关)

操作数存在于用直接数表示的地址单元中

直接数为隐含段DS内的偏移地址

MOVAX,[2000H]实际地址PA=DS*16+2000H

指令机器码A1H(码),00H,20H(数)

指令的功能(AX)=2000H错

(AX)=[2000H]对

操作数的获得

若在DS段中,偏移地址2000H单元中的值为45H,2001H单元中的值为30H,则(AX)=3045H

段超越前缀

概念:

从DS段外的其它段中寻找操作数

MOVAX,[2000H]省略段符时,隐含为DS段

MOVAX,DS:

[2000H]给出段符时,确定了操作数的段特性

段超越前缀机器码的定义

001b4b3110

b2,b1,b0=110,b7,b6,b5=001为固定值,

b4,b3编码表示段寄存器名

b4b3

段寄存器名

段超越前缀机器码

00100110

ES

26H

00101110

CS

2EH

00110110

SS

36H

00111110

DS

3EH

段超越前缀机器码出现在操作码的前面

MOVAX,[2000H]机器码:

A1H(码),00H,20H(数)

MOVAX,DS:

[2000H]机器码:

3EH(缀),A1H(码),0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1