第03章 微型计算机指令系统12011

合集下载

第三章 微型计算机的指令系统

第三章  微型计算机的指令系统

reg , reg mem , reg reg , mem
C、从存贮器/寄存器到段寄存器 (mem/reg,segreg)
注:不能往CS中传送数据.
D、从段寄存器到存贮器/寄存器 (segreg,mem/reg)
注:
1,不影响标志 2,不允许两操作数都使用存储器 3,不允许往CS中送数 4,8位传送/16位传送决定于指令中寄存器及立 即数形式 5,凡给SS赋值时,系统会自动禁止中断,等下 条指令执行完后才会恢复
B、例 LEA BX,[BX+SI] 执行前:BX=0400H SI=003CH 执行后:BX= LDS SI,[10H] 执行前:DS=C000H, (C0010H)=0180H (0012H)=2000H 执行后:SI= DS= LES DI,[BX] 执行前:DS=B000H, BX=080AH (B080AH)=05AEH, (B080CH)=4000H 执行后:DI= ES=
0
CF
AH
/
/
/
三、算术运算指令 1、加法指令 加: ADD DST,SRC DST←SRC+DST reg,reg; reg,mem; mem,reg reg,data; mem,data; ac,data 带进位加:ADC DST,SRC (DST)← (SRC)+(DST)+CF reg,reg; reg,mem; mem,reg reg,data; mem,data; ac,data 加1: INC OPR (OPR)←─ (OPR)+1 (reg;mem) 注:INC指令不影响CF标志
2,高字节 4,低字节 2,SP+1 4,SP+1 SP SP
(SP) (SP)

微机原理接口技术03_指令系统

微机原理接口技术03_指令系统

3.2.1 数据的寻址方式
基址变址寻址同样适用于数组或表格处理,首地 址存放在基址寄存器中,变址寄存器访问数组中各元
素。因两个寄存器都可以修改,所以它比寄存器相对
寻址方式更灵活。需要注意的是,两个寄存器不能均 为基址寄存器,也不能均为变址寄存器。
3.2.1 数据的寻址方式
7.基址变址相对寻址 (Relative Based Indexed Addressing) 操作数的有效地址为指令中规定的1个基址寄存 器和1个变址寄存器的内容及指令中指定的位移量三 者之和。 位移量[基址寄存器][变址寄存器] 可以表示成多种形式组合。寻址寄存器要放在方括 号中。
3.2.1 数据的寻址方式
4.寄存器间接寻址(Register Indirect Addressing) 操作数的有效地址存放在基址寄存器或变址寄存 器中,而操作数则在存储器中。对16位数进行寄存器 间接寻址时可用的寄存器是基址寄存器BX、BP和变 址寄存器SI、DI。使用BP时默认的段寄存器为SS, 使用其他寄存器默认的段寄存器为DS。 操作数有效地址格式为:[间接寻址的寄存器]。 寻址寄存器放在方括号中。
CPU执行指令时,指令是按顺序存放在存储器 中的,而程序执行顺序是由CS和IP的内容来决定的。 当程序执行到某一转移或调用指令时,需脱离程序 的正常顺序执行,而把它转移到指定的指令地址, 程序转移及调用指令通过改变IP和CS内容,就可改 变程序执行顺序。
3.2.2 程序转移地址寻址方式
根据程序转移地址相对于当前程序地址的关 系,可分为段内、段外;又根据转移地址是否直 接出现在指令中,分为直接、间接,所以有四种 程序转移寻址方式:段内直接寻址、段内间接寻
第3章
指令系统
指令是计算机用以控制各个部件协调

80x86微机原理参考答案

80x86微机原理参考答案

80x86微机原理参考答案第一章计算机基础(P32)1-1电子管,晶体管,中小规模集成电路、大规模、超大规模集成电路。

1-2把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。

以微处理器为核心,配上由大规模集成电路制作的只读存储器(ROM)、读写存储器(RAM)、输入/输出、接口电路及系统总线等所组成的计算机,称为微型计算机。

微型计算机系统是微型计算机配置相应的系统软件,应用软件及外部设备等.1-3写出下列机器数的真值:(1)01101110 (2)10001101(3)01011001 (4)11001110答案:(1)+110 (2)-13(原码) -114(反码)-115(补码)(3)+89 (4)-78(原码)-49(反码)-50(补码)1-4写出下列二进制数的原码、反码和补码(设字长为8位):(1)+010111 (2)+101011(3)-101000 (4)-111111答案:(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011(3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000(4)[x]原=10111111 [x]反= 11000000 [x]补=110000011-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?(1)00001110 表示原码14,反码14,表示补码为14(2)11111111 表示原码-127,反码-0,表示补码为-1(3)10000000 表示原码-0,反码-127,表示补码为-128(4)10000001 表示原码-1,反码-126,表示补码为-1271-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。

微机课件第三章指令系统

微机课件第三章指令系统

定制化
融合化
随着计算机体系结构的不断发展,未 来可能出现融合多种指令集优势的全 新架构,实现更高的性能和更低的功 耗。
针对不同应用场景和需求,未来将出 现更多定制化的指令集架构,以满足 特定领域的性能、功耗等要求。
04 汇编语言程序设计基础
CHAPTER
04 汇编语言程序设计基础
CHAPTER
汇编语言概述及特点
指令系统定义与功能
指令系统定义
指令系统是计算机硬件的语言系统,也叫机器语言,指机器所具有的全部指令的 集合。
指令系统功能
它是软件和硬件的主要界面,反映了计算机所拥有的基本功能。从系统结构的角 度看,它是系统程序员看到的计算机的主要属性。因此指令系统表征了计算机的 基本功能决定了机器所要求的能力,也决定了指令的格式和机器的结构。
01 指令系统概述
CHAPTER
01 指令系统概述
CHAPTER
指令系统定义与功能
指令系统定义
指令系统是计算机硬件的语言系统,也叫机器语言,指机器所具有的全部指令的 集合。
指令系统功能
它是软件和硬件的主要界面,反映了计算机所拥有的基本功能。从系统结构的角 度看,它是系统程序员看到的计算机的主要属性。因此指令系统表征了计算机的 基本功能决定了机器所要求的能力,也决定了指令的格式和机器的结构。
言高。
汇编语言概述及特点
汇编语言是一种低级语言
01
它与机器语言密切相关,是机器语言的符号化表示,具有直观、
易理解和易操作硬件的优点。
汇编语言依赖于具体的计算机体系结构
02
不同的计算机体系结构有着不同的指令集和寻址方式,因此汇
编语言程序通常只能在特定的计算机上运行。

第三章计算机指令系统ppt课件

第三章计算机指令系统ppt课件

书上例题
例3-7 已知(A)=56H,(R0)=20H,(20H)=78H,(10H )=18H,(R4)=8AH;
单独执行指令: ① XCH A, 10H ② XCH A, R4 ③ XCH A, @R0 指令执行后: ①(A)=18H, (10H)=56H;
②(A)=8AH, (R4)=56H; ③(A)=78H, (R0)=20H,((R0))=(20H)=56H 。
例: MOV @R0,A MOV @R1,20H MOV @R0,#34H
2021/4/22
(5)十六位数的传递指令
MOV DPTR,#data16
8051是一种8位机,这是唯一的一条16位立即数传递指令 ,其功能是将一个16位的立即数送入DPTR中去。其中高8 位送入DPH,低8位送入DPL。例:MOV DPTR,#1234H,则 执行完了之后DPH中的值为12H,DPL中的值为34H。反之, 如果我们分别向DPH,DPL送数,则结果也一样。如有下面 两条指令:MOV DPH,#35H,MOV DPL,#12H。则就相当于 执行了MOV DPTR,#3512H。
地 址 内 容 寻址。下列为非法指令:
D P T R → 2 0 0 0 H X …
MOVX
A,2000H
D P T R → 2 1 0 0 H X MOVX 2100H,2000H
思考题:为什么对DPTR的数据传送使用内部传送指令?
习题3:将片外RAM 0000H单元的数据传送到片内RAM的 60H单元。
2021/4/22
(3)以直接地址为目的操作数的指令
MOV direct,Rn ;direct←Rn MOV direct, A ; MOV direct, @Ri ; MOV direct, #data ; MOV direct, direct2 ;

计算机指令系统

计算机指令系统

寻址方式
立即寻址:操作 数直接包含在指 令中
直接寻址:操作 数的地址包含在 指令中
间接寻址:操作 数的地址包含在 寄存器中
变址寻址:操作 数的地址包含在 变址寄存器中
相对寻址:操作 数的地址相对于 程序计数器PC
堆栈寻址:操作 数的地址包含在 堆栈中
简单性
指令功能单一,避 免复杂指令组合
● 复杂指令集计算机(CISC):指令丰富,执行效率高,但设计复杂,功耗较高 ● 精简指令集计算机(RISC):指令精简,执行效率较低,但设计简单,功耗较低 ● 超长指令字(VLIW):将多个指令组合成一个超长指令,提高执行效率 ● 单指令多数据流(SIMD):一条指令可以同时对多个数据进行操作,提高执行效率 ● 向量指令集(VLIW):将多个指令组合成一个向量指令,提高执行效率 ● 硬件线程指令集(HTISC):通过硬件线程技术,提高执行效率 ● 微程序控制指令集(Microcode):通过微程序控制技术,提高执行效率 ● 堆栈指令集(Stack):通过堆栈技术,提高执行效率 ● 流水线指令集(Pipeline):通过流水线技术,提高执行效率 ● 超线程指令集(Hyper-Threading):通过超线程技术,提高执行效率
应用:广泛应用于 4
各种处理器,如 CPU、GPU等
优点:提高指令执 行速度,减少指令
2 执行时间
3
实现方式:通过硬
件和软件的优化,
实现指令执行的并
行化
超线程技术
超线程技术是一种在单个处理器内 部实现多个线程的技术。
超线程技术可以减少处理器的空闲 时间,提高系统的性能。
超线程技术可以充分利用处理器பைடு நூலகம் 部的资源,提高处理器的利用率。
指令级并行可以通过流水线技术、分支预测技术、 指令级并行技术等实现。

第三章指令系统1PPT课件

第三章指令系统1PPT课件
存储器操作数具有类型属性,如字节(BYTE)、字 (WORD)、双字(DWORD)等,反映了数据占用存储单元 的字节数。
一条指令中,只能有一个存储器操作数,或者源操 作数,或者目的操作数,在指令书写中,约定用方括号 内容表示存储器操作数的偏移地址 ,如[2300H]。
4 . 直接寻址方式
第三章 8086/8088指令系统
机器指令:是CPU仅能识别的指令的二进制代码,也称机器码;
程序:程序是一组指令有序的集合,是为完成特
定任务而设计的。
指令执行的具体操作
一般指令的格式:
操作码
操作数
指令操作的对象,即操作数的来源或操作结果的去向
每条指令的第一字节一定是操作码。
第三章 8086/8088指令系统
常见的指令格式有如下几种:
(BX) 有效地址 = (SI)
(DI) (BP)
物理地址计算方法:
段寄存器为DS 段寄存器为SS
物理地址 PA = (DS)* 16地址 PA = (SS)* 16 + (BP)
第三章 8086/8088指令系统
例:MOV AX,[BX] ; 若已知(DS)=1000H , (BX)=0040H,则执行的操作如下:
两地址指令是最常见的指令格式,如 ADD AX , BX
第三章 8086/8088指令系统
3.1.2 寻址方式
指令的主要组成部分之一是操作数,指令中的操作数部分指 明了参与操作的数据本身或是规定了操作数的地址,操作数通常 保存在:①指令字节中,称为立即数;② CPU的寄存器中; ③ 存储器单元中; ④ I/O接口寄存器中。
1.隐含寻址
指令中不指明操作数,但操作数隐含在操作码中。 例:
MUL CL ; (AX) ←(AL)×(CL) DIV BL ; (AL) ←(AX)/(BL)的商

微型计算机原理第三章 指令系统2PPT课件

微型计算机原理第三章  指令系统2PPT课件
;word ptr 说明是字操作
12
非法指令--两个操作数都是存储器
➢ 8088指令系统除串操作指令外,不允许两个操作 数都是存储单元(存储器操作数) MOV buf2, buf1 ;非法指令,修正: ;假设buf2和buf1是两个字变量 ;mov ax,buf1 ;mov buf2,ax ;假设buf2和buf1是两个字节变量 ;mov al,buf1 ;mov buf2,al
第三章 指令系统
指令系统部分
1
标题添加
点击此处输入相 关文本内容
标题添加
点击此处输入相 关文本内容
总体概述
点击此处输入 相关文本内容
点击此处输入 相关文本内容
2
2、指令系统
1、数据传送指令
数据传送是计算机中最基本、最重要的一种操作, 传送指令也是最常使用的一类指令
传送指令把数据从一个位置传送到另一个位置 除标志寄存器传送指令外,均不影响标志位 重点掌握
;指令存在,但不Movzx 有效地址传送指令:LEA 指针传送指令:LES LDS 标志寄存器传送指令:LAHF SAHF 字节交换指令:BSWAP
15
交换指令XCHG(exchange) 把两个地方的数据进行互换
XCHG reg,reg/mem;reg reg/mem 寄存器与寄存器之间对换数据 寄存器与存储器之间对换数据 不能在存储器与存储器之间对换数据
11
非法指令-无法确定是字节量还是字量操作
➢ 当无法通过任一个操作数确定是操作类型时,需 要利用汇编语言的操作符显式指明 MOV [BX+SI], 255 ;非法指令,修正:
;mov byte ptr [bx+si],255
;byte ptr 说明是字节操作

第3章 微型计算机指令系统

第3章 微型计算机指令系统
微型计算机原理与接口技术
主 编 何 超
中国水利水电出版社
第3章 微型计算机指令系统

掌握8086/8088CPU的寻址方式。 掌握8086/8088处理器的指令系统。 了解32位新增指令。
基本概念
三个术语:指令,程序,指令系统。
指令:就是指定电子计算机执行某种操作(控制或运算)的命令。 程序:完成一个任务的一组完整的指令序列,就是程序。 指令系统:计算机所能执行的各类指令的总和称为指令系统。
某内存单元中,该内存单元默认在数
段寄存器 段基址 指令 位移量 EA 物理地址
据段中,其偏移地址EA = n。
存储器 操作数
功能:指明操作数的偏移地址n = EA。
操作数是指令的一部分,但操作
数通常默认在数据段中,其偏移地址
是EA。
【例3-2】MOV AL,[2000H] ;将逻辑地址为DS:2000单元内的字节 送入AL。 若段基址(DS)= 4000H,则操作数的物理地址为段基址左移4 位,即40000H,再加上偏移地址[EA]。此指令的操作是:将数据段 中物理地址为42000H 单元的内容56H传至AL寄存器。 直接寻址方式示意如图3-2所示。PA =(段首址)×10H+EA
如果指令指定的寄存器为BP,则操作数在堆栈段(SS)中。
4)寄存器间接寻址和寄存器寻址在汇编格式上相比较多了个中括号,它 们的寻址方式截然不同,寄存器寻址不需访问内存,操作数就在指令
指定的寄存器中,而寄存器间接寻址需要访问内存,操作数的偏移地
址EA就是寄存器的内容。
5.直接变址寻址(Indexed Addressing)
图3-2直接寻址方式示意图
说明:
1)当用一个常量作为操作数的偏移地址时,为了防止与立即寻址相混淆,

第3章 微型计算机指令系统

第3章 微型计算机指令系统

4.指令的操作数宽度和寻址宽度前缀 • 一条指令的内部编码可以包含两种宽度前 缀:操作数宽度前缀(66H);寻址宽度 前缀(67H)。它们可以单独出现,也可 以同时出现在指令前面。 • 操作数宽度前缀使处理器在默认的16位模 式下进行32位(或8位)的操作,或者在 默认的32位模式下进行16位(或8位)的 操作。
2.操作数存放在堆栈区域中 • 在这种寻址方式中,使用的寄存器是BP, 操作数在堆栈段中。物理地址为: • 物理地址=(SS)×16+ (BP) • [例3.5] MOV BX,[BP] ,假设 (SS)=3500H,(BP)=100H,内存单元 (35100H)= 1122H 物理地址=3500H×16+100H=35100H 执行结果(BX) =1122H。
• 寻址宽度前缀使处理器在默认的16位模式 下进行32位寻址,或者在默认的32位模式 下进行16位寻址。 • 当指令前无宽度前缀时,指令的操作数宽 度和寻址宽度按默认的属性确定;当加上 操作数宽度或/和寻址宽度前缀时,则实 际的尺寸属性改变成与默认属性不同。
3.1.2 机器指令与汇编指令 • 机器指令:用二进制表示的机器可以执行 的指令称机器指令(如:1011 1100 0100 1100 BCH 4CH ) 。 • 由于用二进制表示的机器指令(1011 1100 0100 1100 BCH 4CH ),用户在编程和修 改时不方便,大量的二进制指令记忆也很 困难,编程效率非常低。 • 这就提出了汇编指令的概念:用一组英文 字符(又称为助记符)来代替机器指令。
[例3.8] MOV AX,DAT[BX+SI] ,假设 (DS)=2600H, (BX)=200H, (SI)=1400H, DAT=12H,内存单元(27312H)= 9125H • 物理地址= DS×16+EA =26000H+200H+1400H+12H=27312H • 执行结果(AX) =9125H。

计算机原理 指令系统

计算机原理 指令系统

第三章指令系统第一节指令基本格式及寻址方式一、指令及指令系统的概念1.指令指令是计算机硬件能够直接识别和执行的命令。

指令是计算机微操作的组合。

能够完成一定处理任务的指令序列就是计算机程序。

区别:计算机运行所需的指令及相关文档的集合称为软件。

2.指令系统一台计算机所能执行的所有指令的全体集合称为指令系统。

反而言之,不同计算机有不同的指令系统。

强调:指令系统属于计算机硬件范畴。

一个完整的指令系统应满足下面几个要求:(1)完备性:指用汇编语言编制各种程序时指令系统提供的指令足够用。

(2)有效性:指令尽其所能可能短,以便程序所占存储空间小、执行速度快。

(3)规整性:指令的长度是字节的整数倍。

对称性:所有寄存器和存储单元可以同等对待,指令可以使用各种寻址方式。

匀齐性:指令可以支持各种数据结构,编程时无需考虑数据类型。

一致性:指令的长度与数据的长度有一定的关系,以方便存取和处理。

(4)兼容性:在不同机器上能够不作修改地运行。

二、指令格式及分类1.指令格式指令包括操作码和地址码(操作数)。

操作码:表明该条指令操作的性质和功能。

地址码:表明参加操作的操作数地址和结果地址。

指令长度:是操作码的长度与地址码的长度之和。

指令的长度与字长没有固定关系,但一定是字节的整数倍。

操作码的长度,决定指令的种类(条数)。

地址码的长度,决定了指令的寻址空间(所能访问的最大存储空间)。

2.指令格式的分类根据指令中给出的操作数的个数可以将指令分为:零地址指令、一地址指令、二地址指令、三地址指令、多地址指令。

一条指令可以没有地址码,但必须要有操作码。

( )零地址指令中没有一个操作数地址,如停机指令(HALT)、空操作指令(NOP)。

三、寻址方式寻址方式包括:指令的寻址:确定本条指令的地址和下一条要执行指令的地址的方法。

(顺序寻址方式PC(程序计数器、指令指针寄存器)和跳跃寻址方式)操作数的寻址:找到操作数的方法。

操作数寻址方式有:1.立即数寻址:指令中直接给出操作数,通常用于给寄存器设置初始值,操作数在指令中,特点是寻址速度最快,缺点是灵活性最差。

大学计算机基础第三章-微型计算机硬件组成

大学计算机基础第三章-微型计算机硬件组成
大学计算机基础
大学计算机基础
2.微型计算机系统的层次结构 2.微型计算机系统的层次结构
微处理器 存储器 I/O接口 I/O接口 总线 运算器 控制器 寄存器
微 型 计算机 硬件系统 微 型 计算机 系 统 软件系统 外 设 系统软件 应用软件
键盘、 键盘、鼠标 显示器 软驱、硬盘、 软驱、硬盘、光驱 打印机、 打印机、扫描仪
大学计算机基础
3. 微型计算机的发展方向
–① 高速化 ① 处理器主频 –② 超小型化 典型的标志是笔记本电脑和PDA ② 典型的标志是笔记本电脑和PDA 的流行。 的流行。 –③ 多媒体化 全新的多媒体处理芯片、 ③ 全新的多媒体处理芯片、多媒 体和超媒体系统的开发和标准化、 体和超媒体系统的开发和标准化、虚拟现实技术 和发展多媒体通信等。 和发展多媒体通信等。 –④ 网络化 网络计算机、 ④ 网络计算机、具有联网功能的 PDA以及各种类型的个人计算机等正在飞速发展 以及各种类型的个人计算机等正在飞速发展。 PDA以及各种类型的个人计算机等正在飞速发展。 今后将摆脱显示屏、 –⑤ 隐形化 ⑤ 今后将摆脱显示屏、键盘加主机 的传统形象,电视计算机、 的传统形象,电视计算机、影音计算机等将大量 出现。 出现。
大学计算机基础
微机主板结构图 内存插槽 CPU插槽 CPU插槽
芯片组
电池 总线插槽
图3-2.2 微机主板图
并行接口 鼠标插口 键盘插口
大学计算机基础
USB接口 接口
串行接口
CPU插槽 1. CPU插槽
CPU插槽是用于将 插槽是用于将CPU芯片 芯片 插槽是用于将 插入主板,与主板连接的接口。 插入主板,与主板连接的接口。 CPU插槽分为 插槽分为Slot架构和 插槽分为 架构和 Socket架构。 架构。 架构

第三章 微型机指令系统

第三章 微型机指令系统
10102H 10101H 10100H 100H 10000H 代 码 段
4567H
操作数包含在CPU的内部寄存器中。
代码段起址
。 。 。
INC CX ;将CX的内容加1 ROL AH,1;AH内容循环左移1位
操作数包含在指令中,紧跟 在操作码后放在代码段 。 特点:都不需要执行总线周期
三、直接寻址
SRC:立即数,通用REG,存储器三种寻址方式 DST:通用REG,存储器两种寻址方式
ADD CL ,10 ; ADD AL,[1000H] ; ADD [BX + DI],SI ADC AX,BX ; ADC [BX + 200H],CL ; ADC SI,2 INC SI ; INC WORD PTR [BP + DI + 500]
。 。 。
代 码 段
5000H
。 。 。 。
7AH
54H
。 。 。 7AH 54H
31071H 31070H 数 1070H 据 段 30000H AH AL
53000H
。 。 。 。
数据段起址
操作数
5、寄存器相对寻址 采用寄存器间接寻址时,允许在指令中指定一个位移量, 这样,有效地址通过将一个寄存器的内容加上一个位移 量来得到。
3、将地址指针装到ES和另一个寄存器的指令LES
与LDS操作基本相同,区别在于段基址传送到ES段寄存器
三、标志位传送指令
• • • • 读取标志 设置标志 标志进栈 标志出栈 LAHF ; (FLAG)低 8 位 AH SAHF ; AH (FLAG)低 8 位 PUSHF ;(FLAG) (SP) POPF ; (SP) (FLAG)
5、操作数类型要匹配,字对字,字节对字节传送 MOV AX ,BL 6、MOV指令不影响标志寄存器的值。

第3章 微型计算机指令系统

第3章 微型计算机指令系统
格式:LDS reg16, mem32 ;(reg16)←(EA) (DS)←((EA)+2))
功能:将源操作数指定mem32单元的前两个单元内容(16位偏 移量) 装入指定通用寄存器,把后两个单元内容(段地址)
装入到DS段寄存器。 *此指令常指定SI为通用寄存器 例: 假设: (DS)=C000H
例1:实现(29H)(28H)→(DATA_WORD) IN AX,28H
MOV DATA_WORD,AX
例2:从端口3FCH 送一个字到AX寄存器
MOV DX,3FCH
IN AX,DX ; (AL)←(3FCH), (AH)←(3FDH) 例3:实现将(AL) →(05H) OUT 5,AL;(05H)←(AL)
(DS) C000H:0010H C0011H C0012H C0013H 存储器 ... 80H 01H 00H 20H ...
指令: LDS SI, [0010H]
执行指令后: (SI)=0180H (DS)=2000H
3. LES (Load pointer using ES)
格式:LES reg16, mem32 ;(reg16)←(EA) (ES)←((EA)+2)) 功能:将源操作数指定mem32单元的前两个单元内容(16位偏
(三)地址传送指令(Address-object transfer)
8086 /8088 提供三条:
地址指针写入指定寄存器或寄存器对指令。
1. LEA (Load Effective Address) 2. LDS (Load pointer using DS) 3. LES (Load pointer using ES)
1. LEA (Load Effective Address)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

② 指令操作数中无寄存器,则由内存操作数的类型决定。

value 是一个变量 (即内存操作数); 若定义value 为字节类型 : 则 MOV value , 0 是字节操作。 value
内存 00H ….
若定义value 为字类型 :
则 MOV value , 0 是一个字操作。 value
00H 00H
① 指令中有寄存器操作数,由寄存器操作数决定类型。
例 : MOV [BX], AL
MOV [BX] , AX
;字节操作, [BX] ← AL ;字操作, [BX] ←AL, [BX+1] ←AH
在DEBUG下查看指令对应的机器码: D:\>DEBUG ;进入DEBUG -A ;汇编指令 1693:0100 MOV [BX], AL 1693:0102 MOV [BX], AX 1693:0104 -U 100 ;返汇编指令 1693:0100 8807 MOV [BX], AL 1693:0102 8907 MOV [BX], AX 、、、、、、 两条指令的机器码不同: 一个是0788H, 另一个是0789H
③ 指令中无类型的依据,需对存储器操作数加类型说明。

MOV [ BX ], 0 用 PTR 属性伪操作说明类型。 MOV byte PTR [BX] , 0
字节操作, [ BX ] ← 0
MOV word PTR [BX] , 0
字操作, [ BX ] ← 0, [ BX+1 ] ← 0
2.标号的三个属性: ( 1 )段属性 : 表示这条指令的目标代码在 哪个逻辑段中; ( 2 )偏移量属性 : 表示这条指令目标代码 的首字节在段内离段起始点的字节距离; (3)距离属性(或类型属性)

偏移地址也可用符号地址来表示,如ADDR、VAR 例: MOV
AX , [2A00H] DX , ES: [2A00H] ES: [2A00H],DX SI , TABLE_PTR
• 8088/8086指令系统: • (1)指令向后兼容(x86系列) • (2)应用广泛,资料易于寻找
指令按功能分为六大类(92种)
• • • • • •
(1)数据传送类; (2)算术运算类; (3)逻辑运算和移位; (4)串操作; (5)控制转移类; (6)处理器控制。
3.1 指令的构成与操作数的类型
段寄存器使用的一些基本约定
3.1.4 指令的执行时间
• 一条指令的执行时间=∑
取指令 取操作数 执行指令 传送结果
单位用时钟周期数表示
结论: 1)尽量使用寄存器作为操作数 2)若有可能,用移位代替乘除法 3)尽量使用简单的寻址方式
对同一类型指令,执行速度:
寄存器操作数 立即数操作数 快 存储器操作数 慢
指令操作例:MOV AX,BX 指令执行前:(BX)=1234H
; SI ← (AX)
指令执行后:(AX)=1234H,(SI)=1234H
BX
1234H
AX
AX是累加器,结果存放在AX的话,执行时间要短些。 通用寄存器是处理器的一部分,采用寄存器寻址方式可 以提高效率。
▲立即数寻址、寄存器寻址的操作数, 不用在取完指令后再到内存中取数。 ▲以下的 5 中寻址方式, 操作数存放在内存中,取完指令后,还需到内存取数。 指令中给出的是该操作数的地址,包括段地址和偏移地址。
第三章 微型计算机指令系统
第三章 微型计算机指令系统
• • • • 3.1 指令的构成与操作数的类型 3.2 寻址方式※ 3.3 8086/8088指令系统※ 3.4 80286、80386扩充与增加的指令
指令——控制计算机完成指定操作的命令 机器指令——指令的二进制代码形式。例如:CD21H 汇编指令——助记符形式的指令。例如:INT 21H 指令系统——CPU所有指令及其使用规则的集合
操作码 操作数
指令由操作码和操作数两部分组成 • 操作码(Op_code): (操作的性质)
– 表示指令应完成的具体操作 – 以助记符的形式表示
说明计算机要执行哪种操作,如传送、运算、移位、 跳转等操作,它是指令中不可缺少的组成部分 • 操作数(Operand): (操作的对象)
– 表示指令的操作对象(参与操作的对象) – 源操作数、目的操作数
AX AH AL MOV操作码 代 码 段
立 即 数
操作码 低 8位 高 8位
代 码 段
02H 01H
2. 寄存器寻址方式(Register Addressing) 操作数在寄存器中,指令中指定寄存器名. 源操作数与目的操作数字长要相同, 寄存器寻址与段地址无关 8 位操作数, 用 8 位寄存器: AH、AL、BH、BL、CH、CL、DH、DL 16 位操作数,用 16 位寄存器: AX、BX、CX、DX、SP、BP、SI、DI CS、DS、SS、ES 例: MOV MOV MOV 错误例: × MOV × MOV AX, BX [3F00H], AX CL, AL AX, BL ES: AX, DX ; 字长不同 ; 寄存器与段无关
运 算 器
控制总线CB


指令译码器
PSW标志 寄存器 执行部件控制电路
如指令
MOV DS: [ DI ] , CL
完成将CL寄存器中的内容传送到以DS为段值,DI为偏移值的内存单元中

编程将CL寄存器的内容传送到21000H单元中。 地址 21000H=2000:1000H 编程时, DS 存放段地址2000H DI 存放偏移地址1000H MOV MOV MOV MOV AX, 2000H DS, AX DI, 1000H DS: [ DI ], CL ; (DS) = 2000H ; (DI) = 1000H ;(21000H) = (CL)
3.直接寻址方式(Direct Addressing)
指令中直接给出操作数的16位偏移地址
偏移地址也称为有效地址(EA, Effective Address) 默认的段寄存器为DS,操作数所在内存单元的物理地址为: PA = ( DS )×10H + EA 但也可以显式地指定其他段寄存器——称为段超越前缀
一、无操作数指令(一般属于控制类指令,CPU指令) 二、单操作数指令(指令中仅含有一个操作数)
操作数可以是在寄存器中、存储器,也可以直接给出立即数
例如: 01001
DEC
011
BX
三、双字节操作数指令
B1 B2 B3 DISP-L 或 Op-code D W MOD REG B4 DISP-H 或 DATA-L DATA-H B5 B6 7~2 1 0 7 6 5 4 3 2 1 0
不允许将立即数传送到段寄存器 CS不能由用户赋值,段寄存器不可互传
• 3、存储器操作数
类型 存储单元个数
字节
存储器操作数 字 双字
1
2 4
一般不允许两个操作数同时为存储器操作数
存储单元的物理地址 = 段基地址 + 偏移地址
若指令中没有指明所涉及的段寄存器,CPU就 采用默认的段寄存器来确定操作数所在的段。 存储器操作数的偏移地址(也称有效地址)可以通过 不同的寻址方式由指令给出。
变量的三个属性
(1)段属性SEG 它表示变量存放在哪一个逻辑段中。 (2)偏移量属性OFFSET 表示变量在逻辑段中离段起始点的字节距离。(3) 类型属性TYPE 表示变量占用存储单元的字节数,它由类型助记符DB、 DW、DD、DQ来规定。
①指令中有寄存器操作数,由寄存器操作数决定类型。 ②指令操作数中无寄存器,则由内存操作数的类型决定。 ③指令中无类型的依据,需对存储器操作数加类型说明。
寄存器组 AH AL BH BL CH CL DH DL SI DI BP SP AX BX CX DX DS ES SS CS IP
地 址 加 法 器
地址总线AB
、、、 指令1
地 数据总线DB
址 译
指令2
指令3 指令4 、、、 数据1 数据2 数据3 、、、
数据暂存器 指 令 队 列 总线 接口 控制 电路
后5种与内存单元有关的寻址(存储器操作数)
1. 立即数寻址(Immediate Addressing) 操作数在指令中,取来指令立即可得到操作数。 称该操作数为立即数。(立即数可以是8位或16位)立 即数常用来给寄存器或内存单元赋初值。 立即寻址只能用于源操作数
例: MOV
MOV MOV MOV
错误例:
AX, 1C8FH BYTE PTR[2A00H], 8FH AH,-40 AX,OFFSET TABLE 2A00H, AX ; 错误!
× MOV
指令操作例:MOV AX,0102H
; AX
0102H
执行后,(AH) = 01H,(AL) = 02H
存储器
立即寻址指令在存 储器中的存放形式
• 有些指令不需要操作数,通常的指令都有一个或两 个操作数,也有个别指令有3个甚至4个操作数
• 每种指令的操作码:
– 用一个助记符表示(指令功能的英文缩写) – 对应着机器指令的一个或多个二进制编码
• 指令中的操作数:
– 可以是一个具体的数值 – 可以是存放数据的寄存器 – 或指明数据在主存位置的存储器地址
MOV AX,0FA00H MOV 8000H,DX
;正确 ;错误
• 2、寄存器操作数
放在8个通用寄存器或4个段寄存器中的操作数
AX 16 位 AH
16 位 BH BL
ALBXΒιβλιοθήκη CX16 位 CH CL
DX
16 位 DH DL
SI
DI
BP SP CS
只能存放字操作数
DS
ES
SS
段寄存器存放 当前操作数的 段基地址
相关文档
最新文档