第三次课 8086的指令系统
微机原理课件第三章8086寻址方式和指令系统

数寻在址堆方栈式段来中说,,操就作相数当的于段钥地匙址在段寄存器SS中,操 作放数在的寄物存理器地中址,=即SS寄×存1器6+给BP出。 了要访问的存储单元地址。
DS 3000H ×16
┋
SI 2000H
操作码
+ COUNT 4000H
00
代码段
40
寄存器3相60对00H寻址方式也允许使┋用段超越前缀,
如MOV BX,ES:COUNT[DI]则段地址为ES,物
理地址=ES×16+DI+COUNT。
BH
BL
┋
BX 56
78
36000H
78
56
数据段
┋
指令MOV BX,COUNT[SI]的执行过程
{{ }} 组合起来([B只X能]+相[S加I)]+,D同8或时D还1可6 以加上一个8位或
((1SE86IE8和位A种A种=D的=)I)位也移不[[[[[[[BBB量能BSDBXPPPIIX]],]同]]]]+++但时++++[[[DDDDSDB出8888IIIX现或 或或 或]]]和+++在DDBDDD11P方1188866不66或 或 或括能DDD号111同寄中666时;存出器现相 变在相对 址方对基 寻括寻号址 址址中,
{ 设((D3E86A种S0==0M)300HO0)V[[[[0HBSBD=XIPIB,5]]]]X6或S7,+I8=18H[2S6位0I位0+位0C位H移O,移U量位N量T移] 量COU默 默N认 认T=DS4SS0段 段00H,
微机原理第三章 8086的寻址方式和指令系统ppt课件

4、寄存器间接寻址方式 (Register Indirect Addressing)
EA在指定的寄存器中,只能是基址BX、BP,变址SI、 DI四者之一。 MOV AX, [DX] (非法)
默认关系:SS:BP, DS:BX、SI、DI 可进行段超越,如 MOV AX,DS:[BP]
• 根据有效地址EA〔Effective Address〕的构成 方式,存储器寻址分为以下五种:
• 段寄存器使用的基本约定 •
3、直接寻址方式(Direct Addressing) EA就在指令中,默认段寄存器为DS 如:MOV AX,[2000H] 设DS=3000H 则EA=2000H,PA=DS×16+EA=32000H, 操作数来自32000H〔或3000H:2000H处),结果AX=3514H
例如: MOV AX,COUNT[BX][SI] MOV AX,COUNT[BX+SI] MOV AX,[BX+SI+COUNT]
以上三者等价
如 MOV AX,MASK[BX][SI] 设DS=4100H,位移量MASK=0134H,BX=2500H,SI=1200H 则EA=(BX)+(SI)+MASK=3834H,PA= (DS)
• 8086的指令按功能可分为六大类:数据传送指令、 算术运算指令、逻辑运算和移位指令、字符串处 理指令、控制转移指令、处理器控制指令。
一、数据传送指令:负责数据在寄存器、存储器、I/O端口 之间的传递,特点是不影响标志位。
1.通用数据传送指令 (1) MOV 传送指令〔Move) 格式:MOV 目的,源;(源)→(目的)
微机原理第三章8086的寻址方式和指令系统PPT课件

04 寻址方式和指令系统的关 系
寻址方式对指令执行的影响
01
寻址方式决定了指令操作数的来源和访问方式,从而
影响指令的执行效率和正确性。
02
不同的寻址方式可能导致指令执行时间不同,因为它
们可能需要不同的计算步骤和内存访问次数。
03
寻址方式的正确选择可以简化指令的执行过程,提高
指令的执行效率。
指令系统对寻址方式的支持
在个人电脑(PC)领域,IBM PC/AT是基于8086的扩展版 80286开发的,奠定了现代PC 的基础。
8086也被广泛应用于工业控制、 自动化设备、仪器仪表等领域。
现代计算机系统中8086的继承和发展
尽管随着技术的进步,更先进的微处理器已经取代了8086在主流应用中的地位, 但8086的设计理念和架构仍然在许多嵌入式系统、低功耗应用中得到继承和发展 。
CALL指令用于调用子程序, 并将返回地址压入堆栈。
处理器控制类指令
处理器控制类指令用于控制 处理器的状态和行为。
包括HLT、INT、IRET等指令。
02
01
03
HLT指令用于暂停处理器执 行,等待中断或系统调用。
INT指令用于触发软件中断, 执行中断处理程序。
04
05
IRET指令用于从中断返回, 恢复程序的执行。
算术运算类指令用于执行 加、减、乘、除等算术运 算。
ADD指令将两个操作数 相加并将结果存储在目标 操作数中。
ABCD
包括ADD、SUB、MUL、 DIV等指令。
SUB指令从第一个操作数中 减去第二个操作数,并将结 果存储在目标操作数中。
逻辑运算类指令
逻辑运算类指令用于执行逻 辑与、或、非等逻辑运算。
第三章 8086的指令系统()PPT课件

7、串寻址(String addressing)
串寻址方式仅在8086的串指令中 使用。规定源操作数的逻辑地址为 DS:SI;目的操作数的逻辑地址为 ES:DI。当执行串指令的重复操作时, 根据设定的方向标志(DF),SI和 DI会自动调整。
8、I/O(输入/输出)端口寻址 (I/O port addressing)
2、MOV数据传送指令
其格式为:
MOV 目的操作数,源操作数
目的操作数和源操作数均可采用不 同的寻址方式,但两个操作数的类 型必需一致。
二、寻址方式介绍
1.立即寻址(Immediate addressing) 操作数就在指令中,紧跟在操作码后
面,作为指令一部分存放在内存的代 码段中,这种操作数称为立即数。
1、通用数据传送指令
1)、MOV 传送指令 指令格式为: MOV 目的 ,源
2)PUSH 进栈指令
指令格式为:PUSH 源操作数 其操作过程是: a、SP-1,
指示堆栈中可以存放数据的位置,存源 操作数的高8位; 。
3)POP 出栈指令
指令格式为:POP 目的操作数
一、8086的操作码
指令由操作码和操作数(地址码) 组成。8086的指令长度是可变的,一 条指令一般由1-6个字节组成(加上 前缀字节,最长可为7字节)。
二、8086指令中寄存器的编码
8086指令中通常使用一个或两个 操作数,在少数指令中有隐含的第三 个操作数。
三、指令中的操作数
1、单指令操作数
当操作数在外部设备时,使用I/O指令。 此时有两种不同的寻址方式访问I/O端口。 (1) 直接端口寻址方式。 (2) 采用寄存器间接寻址方式 (3) 输入指令中目的操作数可为AL或
AX;输出指令中源操作数可为AL或AX。 例:
微机原理课件第三章8086寻址方式和指令系统

支持外部中断和内部中断,用于处理各种事 件和异常。
通过寄存器的内容来访问数据。
寄存器相对寻址
通过寄存器的内容加上偏移量来计算内存地 址,然后访问数据。
指令格式
操作码和操作数
指令由操作码和操作数组成。
操作数的个数
指令前缀
指令可以有不同数量的操作数, 包括零个、一个、两个或更多。
指令前缀用于改变指令的行为 或影响指令的执行方式。
指令系统
1
数据传送指令
微机原理课件第三章8086 寻址方式和指令系统
本章将介绍8086微处理器的寻址方式和指令系统。内容包括不同的寻址方式, 指令格式,指令系统,指令执行周期,以及8086处理器的特点和功能。
寻址方式
直接寻址
通过直接给出内存地址来访问数据。
寄存器间接寻址
通过寄存器的内容所指向的内存地址来访问 数据。
寄存器直接寻址
从内存中获取指令。 执行指令中的操作。 将结果存储回内存。 处理器响应中断请求。
8086处理器
8086处理器的特点
具有16位的数据总线和地址总线,支持最多 1MB的内存。
8086处理器的工作模式
包括实模式和保护模式,可以用于运行不同 类型的软件。
8086处理器的寄存器
包括通用寄存器、段寄存器和指令指针寄存 器。
用于在寄存器和内存之间传输数据。算,如加法、减法、乘法、除法和位操作。
3
逻辑指令
执行逻辑操作,如与、或、非和异或。
4
比较指令
用于比较两个值的大小,并根据比较结果设置标志位。
5
转移指令
用于无条件或有条件地改变指令执行的顺序。
指令执行周期
取指令周期 执行指令周期 存储指令周期 中断响应周期
7微机原理 第三章8086指令系统3PPT课件

❖ 串比较: ❖ CMPSB ❖ [(ES:DI)]-[(DS:SI)]; ❖ SI=SI±1,DI=DI±1; ❖ 重复前缀控制前两步 ❖ CMPSW ❖ [(ES:DI)]-[(DS:SI)]; ❖ SI=SI±2,DI=DI±2; ❖ 重复前缀控制前两步
4
❖ 串搜索: ❖ SCASB ❖ AL-[(ES:DI)]; ❖ DI=DI±1; ❖ 重复前缀控制前两步 ❖ SCASW ❖ AX-[(ES:DI)]; ❖ DI=DI±2; ❖ 重复前缀控制前两步
5
❖ 存串 ❖ STOSB ❖ AL→[(ES:DI)];DI=DI±1; ❖ 重复前缀控制前两步 ❖ STOSW ❖ AX→[(ES:DI)];DI=DI±2; ❖ 重复前缀控制前两步
6
❖ 取串: ❖ LODSB ❖ [(DS:SI)]→AL;SI=SI±1; ❖ 一般不用重复前缀 ❖ LODSW ❖ [(DS:SI)]→AX;SI=SI±2; ❖ 一般不用重复前缀
7
❖ 注意以下几个问题:
❖ (1) SI(源串地址),DI(目的地址), CX(字串长度),AL(存取或搜索的默 认值)。
❖ (2) 源串在数据段DS,
❖ 目的串在附加段ES。
❖ (3) DF=1,地址减1修改;DF=0时,地 址加1修改,
❖ MOVS、STOS、LODS指令不影响标志 位。
8
❖ MOVS指令的功能:
1
整体概况
+ 概况1
您的内容打在这里,或者通过复制您的文本后。
概况2
+ 您的内容打在这里,或者通过复制您的文本后。
概况3
+ 您的内容打在这里,或者通过复制您的文本 ❖ [(ES:DI)]←[(DS:SI)]; ❖ SI=SI±1,DI=DI±1; ❖ REP控制重复前两步 ❖ MOVSW ❖ [(ES:DI)]←[(DS:SI)]; ❖ SI=SI±2,DI=DI±2;REP控制重复前两步
第三讲 8086指令系统(1)
REG--寄存器 REG--寄存器 MOD--模式 MOD--模式 R/M--寄存器或内存 R/M--寄存器或内存 带位移量的寄存器和内存之间的传送(设位移量为16位) 操作码 MOD REG R/M 位移低位 位移高位
立即数送寄存器(设立即数为16位) 操作码 11 操作码 R/M 数据低位 数据高位
注意立即数是字节还是字,即明确指令是字 节操作还是字操作。
例2:寄存器传送 mov ax,bx mov ah,al mov ds,ax mov [bx],al
例3:存储器传送 mov al,[bx] ;al←ds:[bx] mov dx,[bp] ;dx←ss:[bp] mov es,[si] ;es←ds:[si]
段内转移 CS不变,IP=?
无 条 件 转 移
段内相对寻址 IP=IP+D8 JMP SHORT AB, IP=IP+D16 JMP [NEAR PTR] AB 段内间接寻址 IP←(内存单元) 或 IP←(寄存器)
如: JMP [WORD PTR可省略] [BX] , JMP BX
段间转移 CS:IP=?
3、寄存器寻址:操作数在寄存器中 、寄存器寻址: 指令 寄存器
寄存器号
例:MOV AX,BX ,
操作数
如指令执行前(AX)=3064H,( )=1234H; ,(BX) 如指令执行前( ) ,( ; 则指令执行后,( ,(AX) ,(BX)保持不变。 则指令执行后,( )=1234H,( )保持不变。 ,(
• 两个操作数不能都是存储器
MOV [BX],[AX] ADD X,Y
• 段寄存器操作的限制 1)不允许立即数传送给段寄存器:MOV DS,100H 2)不允许直接改变CS值:MOV CS,[SI] 3)不允许段寄存器之间的直接传送:MOV DS,ES
第三章 8086指令系统
第三章8086指令系统
课时分配:10学时
二、寻址方式
寻址方式:主要是指获得操作数所在地址,也就是操作数的偏移地址(有效地值)。一般是指源操作数的地址。
在8086系统中,一般将寻址方式分为两种不同的类型,一类是寻找操作数的地址,另一类是寻找要执行的下一条指令的地址,即程序的地址。主要在程序转移或过程调用时用来寻找目的地址或入口地址。这将在调用指令CALL和程序转移指令JMP中详细介绍。
例:MOV AX,[BX+1024H]
操作数地址是:(DS)×16+(BX)+1024H
同样:当以SI、DI、BX寻址时,默认的段是DS;以BP寻址时,默认的段是SS。也可以用段前缀来指定其他的段寄存器,如:
MOV AX,DS:[BP+1024H]
6.基址―变址寻址
操作数在存储单元中,有效地址一个基址寄存器和一个变址寄存器之和,可表示为:
(1)MOVAX,0ABH(2)MOVAX,[100H]
(3)MOVBX,[SI](4)MOVCL,[BX+SI+200H]
(5)MOVAL,VAL[BX](6)MOVDI,[BP][SI]
2、判断下列指令是否有错,并说明原因( 5对)
(1) MOV [DI],[SI](2) MOV CS,AX
(3) MOV 128,CL(4) MOV AX,[SI][DI]
(1)指令特点:
微机原理第3章8086指令系统-PPT课件
指令的基本概念和指令所包含的 基本内容。 8086指令的格式及编码方式。 8086指令的寻址方式及寻址过程。
8086指令系统的分类、功能及操
作过程,每条指令的格式及用法。
学习目的
掌握指令及指令系统的基本概念。 掌握8086各种寻址方式所执行的数 据寻址过程。
牢固地掌握存储器段地址:偏移地
MOV表示“传送”助记符,BL(寄存器) 表示结果存放的位置, AL (寄存器)表示数 据的来源。
No Image
记忆,但最终必须将助记符指令 “翻译” 成机器指令才能被识别和执行。这个过程
叫“汇编”。
助记符指令
No Image
汇编
助记符表示的指令便于书写、理解和
机器指令
3.3 8086 CPU的寻址方式
例:AAA 操作 :对固定寄存器 AL 中的内容进行十进制调 整,结果仍在AL中。(可能影响AH的内容)
十进制调整
AL
AH
结果
送回 影响
+1
2. 立即数寻址
操作数作为立即数就在指令中给出。
例:MOV AX,1234H
机器码:B8 34 12 (低字节在地址小的单元)
操作:把立即数1234H送寄存器AX中。
No Image
MOV AX,1234H
代码段 (存储器中)
AH
AX
56 12
指令执行后,AX=1234H (原有的内容被新
No Image
AL
78 34
B8 34 12
...
操作码(B8) 操作数(1234H) 立即数 一 条 指 令
...
的内容替换)。
3. 寄存器寻址
操作数在某个寄存器中。 例:INC BL
微机原理第三章 8086指令系统01PPT课件
7
3.2 8086的指令格式
❖ 指令用助记符表示,格式如下:
标号: 助记符 参数1,参数2,参数3;注释
操作码场
操作数场
注意:参数1,参数2,参数3 三个操作数是任
选的,根据指令的不同,可以是0~3个。
例:SUM: ADD AX, [BX] ; 加法运算入口 8
3.3 8086的寻址方式
❖ 寻找操作数的方式,在微型计算机中操作数可 能的位置不外乎三种: 1.包含在指令中——立即寻址 2.包含在CPU的某个寄存器中——寄存器 寻址 3. 操作数在内存的数据区中,指令中包含此操 作数的地址。该地址由两部分构成:此单元所 在段的基地址(多数情况在DS段)和此单元 与段基址的距离——段内偏移量。指令中规定 的就是这个偏移量,也叫有效地址EA。 根据EA构成情况的不同,对应不同的寻址方 式。
操作数所在内存单元的完整地址表达式:
段寄存器R : [基址R+变址R+位移量]
通知CUP访问哪个 逻辑段
有效地址/偏移地址
19
在内存中的操作数由段选择子和偏移量引用。 段选择子规定包含操作数所在的段:
段选择子能隐含或显式规定,基本约定见书 上P.49表3-2。 以下的默认段,不能被超越: (1) 必须从码段取指令; (2) 在串操作中的目的必须存储在由ES寄存器 指向的数据段; (3) 入栈和出栈操作必须是引用SS 段。
注意:立即寻址主要用来给寄存器或存储器赋初 值。
12
立即寻址示意图: 存储器
AH AL
OP 64 指令 30
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章8086的指令系统3.1 8086指令系统概述所谓一个微处理器的指令系统是一个微处理器所执行的全部指令的集合。
在8086的指令系统中一共有133条指令。
8086指令系统是在8位微处理器8080/8085的指令系统基础上设计的,它兼容了8080/8085的全部指令,这部分对8位微处理器具有兼容性的指令往往是处理字节(8位)的。
此外,8086还有自己所特有的对字或字符串的处理指令,以及对带符号数的运算指令、中断指令和协处理器指令。
对微处理器的指令的描述,一般有两种表示方法:指令的机器码和汇编指令。
无论对于机器码指令还是对于汇编指令均要解决三个问题(三个信息)(1)指令要完成什么操作(操作码);(2)参加这个操作的操作数在哪里(操作数);(3)操作结果放在哪里(结果);为了简化指令,通常在微机系统中规定:操作结果要放在某一个操作数中。
如MOV AL,08H;ADD AX,BX;(源操作数,目标操作数)这样,就将指令所要提供的信息简化为了两部分:操作码、操作数。
指令的机器码就是用二进制码描述指令的操作码和操作数的一种方式,实际上在微机系统内部,指令就是以机器码的形式存在的。
所谓的汇编指令是用指令功能的英文缩写表示操作码,用数字和符号表示操作数的指令描述方法。
例如操作码操作数MOV AX,2000H操作码B8H操作数:00H20H由于汇编语言程序有便于理解、识别、阅读和交流的优点。
所以汇编指令得到了广泛的应用。
但由于最终在机器中使用的是机器码,所以要有一个中间环节就是对其进行翻译。
3.2 8086指令的寻址方式所谓寻址方式就是寻找操作数的方式,所以寻址方式实际上在两种情况下被涉及:一种是用来对操作数进行寻址;另一种是对转移地址和调用地址进行寻址。
下面我们所讨论的寻址方式都是针对操作数的,关于指令地址的寻址,将在讲述转移指令和调用指令时作具体说明。
一条指令的机器码通常包含操作码(OP)和操作数两部分。
操作码表示指令执行什么操作,操作数表示参加操作的数或数的存放地址. 不同指令机器码的长度(二进制代码的位数)不一定相同,但都是字节的整数倍(8086指令长度为1—6个字节)。
操作码是每条指令不可缺少的部分,指令机器码的第一个字节一定是操作码;操作数位于操作码之后,有的指令没有操作数。
寻找操作数存放地址的方式称为寻址方式。
8086的寻址方式分为两类:数据寻址方式和转移地址寻址方式。
本节只讨论数据寻址方式,转移地址寻址方式将在转移指令中讨论。
首先我们先想象以下,在8086微机系统中操作数有可能放在哪里?(1)在CPU内部在寄存器中16位数:AX、BX、CD、DX、SP、BP、SI、DI 、F8位数:AH、AL、BH、BL、CH、CL、DH、DL在指令队列中-----立即数8位或16位(2)在存储器中在指令中要给出操作数在存储器相应单元的地址:所在的段和偏移量(有效地址)MOV AX,ES[2000H](3)(I/O)端口中在指令中要给出操作数在接口相应端口地址IN AL,80H在8086指令系统中为描述操作数所存放的位置,提供了五种寻址方式。
(1)立即寻址在这种寻址方式中。
指令中直接给出8位或16他的操作数(立即数)。
它紧跟在操作码之后,作为指令的操作数字段存放在指令代码中,如果是16位立即数,那么低位字节数存放在低地址单元个,高位宁节数存放在高地址单元中。
机器码存放形式如图2.14所示。
立即寻址方式的操作数经常用于寄存器赋初值,并且只能用于源操作数字段,不能用于目的操作数宁段。
例MOV AH、06H B4H,06H指令执行后,AL=06H,8位数据06H存入AL寄存器。
例MOV AX,3578H B8 35 78H指令执行后,Ax=3578H,16位数据存入Ax寄存器,可用图2.15表示。
图中指令存放在代码段中,OP表示该指令的操作码部分,接下去存放立即数的低位字节78H,再存放高位字节35H,它们是指令机器码的一部分。
(2)寄存器寻址操作数在寄存器中,指令中给出存放操作数的寄存器号。
对于16位操作数,寄存器可以是AX、BX、CX、DX、S1、DI、SP和BP等;对于8位操作数,寄存器可以是AL、AH、BL、BH、CL、CH、DL和DH。
这种寻址方式由于操作数就在寄存器中,不需要访问存储器来取操作数,因而可以得到较高的运算速度。
例2.3 MOV Ax.BX若指令执行前,AX=3064H,Bx=1234H 。
则指令执行后,AX=1234H,BX=1234H。
(3)存储器寻址存储器寻址指令,其操作数在某个或某几个存储单元中。
要得到存储器操作数,必须执行访问存储器单元的总线周期。
存储器单元的逻辑地址出两部分组成:段地址和偏移地址。
段地址通常出数据段寄存器DS 提供,如果所采用的寻址方式通过基址指针BP 寻址,则段地址由堆栈段寄存器SS 提供:偏移地址又称为有效地址(EA),它是由下面3个地址分量计算得到:16位仿有效地址EA=基址+变址+位移量在8086中,基址由基址寄存器BX 和基址指针BP 提供,变址由变址寄存器SI 、DI 提供,位移量是一个8位或16位二进制常数。
即以上3个分量的个同组合,可以构成6种不同的有效地址形成方式,即存储器操作数有6种寻址方式。
(1) 直接寻址在直接寻址方式中,操作数的有效地址由指今直接给出,即EA =位移量。
在指令机器码,有效地址存放在代码段中指令操作码后的操作数字段。
例 MOV AX ,[3000H]从指令可知EA =3000H ,若DS =2000H ,则存放源操作数的存储单元的物理地址=2000H ×16十3000H =23000H设指令执行前,AX =7850H ,[23000H]=50H ,[23001H]=30H 。
指令执行后.A X =3050H ,(23000H)=50H ,(23001H)=30H ,DS =2000H 。
在汇编语言指令中,对以用符号地址代替数值地址,如:MOV Ax .V ALUE其中标V ALUE 即存放源操作数的符号地址。
此指令也可以写成:MOV AX ,ES:[V ALUE];(2) 寄存器间接寻址操作数的有效地址由基址寄存器Bx 、BP 或变址寄存器SI 、DI 提供。
即例2.6 MOV AX ,[BX]由于是通过基址寄存器BX 寻址,故操作数是在数据段中,段地址由数据段寄存器DS 提供。
若DS =2000H ,BX =1000H ,则物理地址=2000H ×10H+1000H =21000H 。
设指令执行前,Ax =8040H ,(21000H)=AOH ,(21001H)=50H 。
则指令执行后,Ax =50AOH ,(21000H)=AOH ,(21001H)=50H 。
(3) 带位移的基址寻址操作数的有效地址由基址寄存器的值与位移量相加形成,即EA=基址+位移量。
例2.7 MOV AX ,4000H[BP]⎪⎩⎪⎨⎧⎪⎩⎪⎨⎧⎩⎨⎧⎭⎬⎫+⎭⎬⎫+⎭⎬⎫=位位816DI SI BP BX EA ⎪⎪⎩⎪⎪⎨⎧⎪⎪⎭⎪⎪⎬⎫=DI SI BP BX EA或MOV AX,[BP+4000H]由于是通过基址指针BP寻址,故操作数是在堆栈段中,段地址要由堆栈段寄存器SS提供。
若SS:3000H,BP:2000H,则EA=2000H+4000H=6000H,物理地址=3000H×10H+6000H=36000H。
(4) 带位移的变址寻址操作数的有效地址由变址寄存器的值与位移量相加所或,即EA=变址+位移量。
例MOV AL,COUNT[SI]或MOV AL,[SI+COUNT]其中位移量COUNT为符号地址,可出伪指令来定义,详见伪指令一节说明。
其功能是将数据段中有效地址为(SI+COUNT的16位偏移量)的内存单元的8位操作数送给AL,即AI-(SI十COUNT)。
‘(5) 基址变址寻址操作数的有效地址是基址寄存器的值与变址寄存器的值相加形成,即EA=基址+变址。
例MOV AX,[Bx][DI] ;或MOV AX,[Bx+DI]若DS=3000U,Bx=6780H,DI=0041H,则EA=6780H+0041H=67C1H。
源操作数存放单元的物理地址=30000H+67C1H=367C1H(6) 带位移的基址变址寻址操作数的有效地址是一个基址寄存器的内容,一个变址寄存器的内容与位移量之和,即EA=基址+变址+位移量。
例MOV AX,MASK[BX][SI]MOV AX,MASK[BX+SI]MOV AX,[BX+SI+MASK]其中MASK为一16位(或8位)常数。
例MOV AX,ES:[3000H]MOV AX,SS:[BX]MOV AX,DS:[BP+DI+4000H]作业:3.1 指出下列指令的源和目标操作数的寻址方式:①MOV ARRAY,BX②ADC CX,ALPHA[BX][SI]③AND GAMMA[DI],11011000B④INC BL⑤TEST ES:[SI],DX⑥SBB SI,[BP]3.2 现有DS;2000H,BX=0100H,SI=0002H,(20100H);12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H,试说明下列各条指令执行完后Ax寄存器的内容。
①MOV AX,1200H②MOV AX,BX③MOY AX,[1200H]④MOV AX,[DX]⑤MOV AX,1100H[BX]⑥MOV AX,[BX][SI]⑦MOV AX,1100H[BX][SI]3.3 假定DS=2000H、ES=2100H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据段中变量名V AL的值为0050H,试指出下面源操作数字段的寻址方式是什么?其物理地址值是多少?①MOV AX,00ABH②MOV AX.BX②MOV AX,[100H]④MOV AX,[BX]⑤MOV AX,[BP]⑥MOV AX,[BX+10]⑦MOV AX,[BX][SI]⑧MOV AX,V AL⑨MOV AX,ES:[BX]⑩MOV AX,[S1]①MOV AX,V AL[BX]②MOV AX,V AL[BX][SI]3.3 8086的指令系统如果按照指令所实现的功能对8086指令系统中的指令进行分类,可分成以下5类:1、数据传送类2、算术运算类3、逻辑运算和移位指令4、串操作指令5、控制转移类6、处理器控制指令3.3.1数据传送指令(一)通用数据传送指令(MOV、PUSH、POP、HCXG)。