微机原理指令系统学习
微机原理指令系统讲解

2012-3-21
10
四、寄存器间接寻址(Register Indirect 寄存器间接寻址 Addressing) MOV AX,[DI] 指令中的16位寄存器的内容不是操作数,而是 指令中的 位寄存器的内容不是操作数, 位寄存器的内容不是操作数 操作数的偏移地址,操作数本身则在存储器中。 操作数的偏移地址,操作数本身则在存储器中。 可用的寄存器有四个,分别是: 、 、 可用的寄存器有四个,分别是:SI、DI、BX 和BP,但如果使用不同的间址寄存器,则相 ,但如果使用不同的间址寄存器, 应的段寄存器有所不同
2012-3-21 23
一般传送指令MOV (Movement) ⑴ 一般传送指令 MOV dest,src ;(dest)←(src) ← 既可传送字节操作数( 位 既可传送字节操作数(8位),也可传送 字操作数( 位 字操作数(16位); 可使用本章讨论过的各种寻址方式; 可使用本章讨论过的各种寻址方式; 可实现以下各种传送: 可实现以下各种传送:
2012-3-21 26
堆栈操作指令PUSH和POP (Push ⑵ 堆栈操作指令 和 word onto stack, Pop word off stack) 堆栈是内存中一个特定的区域, 堆栈是内存中一个特定的区域,用以存放 寄存器或存储器中暂时不用但又必须保存 的数据。 的数据。
2012-3-21
2012-3-21 7
直接寻址: MOV AX,[3200H] 如果DS=5000H,则所 寻找的操作数的物理 地址: 5000H×10H+3200H =50000H+3200H =53200H
2012-3-21 8
段超越 : MOV BX,ES:[2100H]
2012-3-21
微机原理 第四章 微型计算机指令系统

例: 已知: DS=2000H; SI=1000H 指令: MOV [SI+disp],AX
青岛理工大学琴岛学院
寄存器间接相对寻址过程示意图
CPU
寄存器间接相对 SI=1000H
MOV [SI+20H] 程序 ,AX
CS 偏移1000H
DS
SS
ES
位移20H
青岛理工大学琴岛学院
寄存器相对寻址过程示意图
真正数据所在的地址
青岛理工大学琴岛学院
错误指令举例: 6)基址变址寻址: MOV [BX+CX],AX ; CX不能做变址寄存器 MOV [BX+BP],AX ; BP不能作为变址寄存器 操作数的有效地址 EA等于一个基址寄存器( BX或 MOV [BX+DI],ARRAY; BP)与一个变址寄存器( SI或DI)的内容之和;
总时间=基本执行时间+计算EA的时间+执行总线读/写周期的时间
指令的基本执行时间随指令类型的不同差异很大,访问存 储器既要执行总线的读/写周期,又要计算操作数的有效地址 EA,计算EA的时间又与指令的寻址方式有关。
青岛理工大学琴岛学院
4.2 8086/8088指令系统
数据传送类指令
算术运算类指令 位操作类指令 串操作类指令 控制转移类指令 处理器控制类指令
21000H 20 位 物 理 地 址 真正数据所在的地址 Memory DS … 20000H
…
78H 21000H 56H
青岛理工大学琴岛学院
4)寄存器间接寻址:
此方式的操作数存放在存储器单元中,指令给出的 16位寄存器值就是该操作数所在存储单元的EA。
例: 已知: (DS)=2100H,(DI)=2000H 指令: MOV AX,[DI] ;(AX) ((DI)) 注:使用BX、SI、DI,操作数在DS段;BP时在SS段 其中寄存器只能是BX、SI、DI、BP
微机原理知识点归纳总结

微机原理知识点归纳总结微机原理是计算机专业的基础课程之一,它是学习计算机硬件和软件原理的入门课程。
本文将对微机原理课程的主要知识点进行归纳总结,希望可以帮助读者更好地理解微机原理,并为日后的学习和工作提供帮助。
一、计算机系统计算机系统是由硬件和软件两部分组成的,硬件是计算机的物理构成,软件是控制硬件工作的程序。
计算机系统的主要组成部分包括中央处理器(CPU)、存储器、输入输出设备(I/O设备)和总线。
1. 中央处理器(CPU)中央处理器是计算机系统的核心部件,它负责执行计算机程序的指令和控制计算机的操作。
中央处理器由运算器和控制器两部分组成,运算器负责执行算术和逻辑运算,控制器负责控制指令的执行顺序和数据的流动。
2. 存储器存储器是计算机系统用来存储数据和程序的设备,它分为主存储器(RAM)和辅助存储器(ROM、硬盘等)。
主存储器用来临时存储程序和数据,辅助存储器用来长期存储程序和数据。
3. 输入输出设备(I/O设备)输入输出设备用来与外部环境进行交互,包括键盘、鼠标、显示器、打印机等。
它们负责将数据输入到计算机系统中或者将计算机系统的输出结果显示或打印出来。
4. 总线总线是计算机系统各个部件之间传输数据和控制信号的通道,它分为地址总线、数据总线和控制总线。
地址总线用来传输地址信息,数据总线用来传输数据,控制总线用来传输控制信号。
二、数据的表示和运算1. 二进制数计算机是以二进制形式进行运算的,因此需要了解二进制数的表示和运算规则。
二进制数由0和1组成,其表示方法和十进制数类似,但是各位上的权值是2的幂次方。
2. 字符编码计算机系统中的字符是使用字符编码进行表示的,常用的字符编码包括ASCII码和Unicode。
ASCII码是美国标准信息交换码,每个字符用一个字节表示;而Unicode是一种全球字符集,包括了几乎所有国家的字符,每个字符用两个字节表示。
3. 整数表示和运算计算机系统中的整数是通过二进制补码形式进行表示和运算的。
微机原理指令系统课件

指令
8B
05
32000
0B
40
思考: 指令 MOV AX,[ DI ] 与MOV AX, DI有什么不同?
微机原理指令系统课件
13
用 SI、DI、BX 、BP作为间接寻址允许段跨越
指令中可以指定段跨越前缀来取得其他段中的数据。
例:MOV ES:[DI], AX MOV DX, DS:[BP]
例: MOV AX,ES:[2000H]
将ES:2000H单元内容送入AX。
例: MOV AX,LABLE 或 MOV AX,[LABEL]
将标号为LABLE(存放操作数单元的符号地址) ,即
DS:LABLE中的内容送入AX。
微机原理指令系统课件
7
例:MOV AX , [ 1000 H]
若 ( DS ) = 2000H
8B
指令
47
30
21030
76
89
17
(3)基址变址寻址方式:
操作数在存储器中,指令将基址寄存器(BX或BP)与变 址寄存器(SI或DI)内容之和作为操作数所在存储单元的有 效地址。
(BX) (SI)
EA =
+
(BP) (DI)
PA = (DS) * 16 + (BX)+ (SI)或(DI)
PA = (SS) * 16 + (BP) + (SI)或(DI)
指令操作数部分直接给出指令的操作数,操作数与操 作码一起存入代码段中。立即数有8位和16位。
例 :MOV AL, 05H ;源操作数为立即寻址 指令执行后,AL=05H,8位数据05H存入AL寄存器。
微机原理与接口技术第3章(指令部分)

例:编程计算 0+1+2+3+4+ -----10 编程计算
MOV AL,0 , MOV BL,1 , MOV CL,10 NEXT:ADD AL,BL , INC BL DEC CL JNZ NEXT ;CL≠0 转 ≠ HLT
1
3.1 概述 一、指令包含的基本内容
12
(3)相对寻址
例: MOV AX, [SI+100H]
;结果 : 结果 AX (DS×16+SI+100H) ×
例:MOV AL,[BP+DATA] MOV AL, DATA[BP] ; DATA是符号表示的位移量。 表示的位移量 是符号表示的位移量。
结果 : AL (SS×16+BP+DATA) ×
11
(2)间接寻址 例:MOV AX,[BX] , •结果 : AX 结果 (DS×16+BX) ×
...
3000H:0000H : • EA= BX /SI /DI , 物理地址=DS*16+EA 物理地址 • EA= BP 物理地址=SS*16+EA 物理地址 :1234H :50H :1235H :30H
1. 做什么操作? 做什么操作? MOV ,ADD, OR,CMP等助记符 等助记符
2. 操作的数据是什么? ①CPU内的寄存器; 操作的数据是什么? 内的寄存器 内的寄存器; 内存的某一个或几个单元 单元; ②内存的某一个或几个单元; 结果放在那里? 3. 结果放在那里? 立即数。 ③立即数。 端口; 端口 ④I/O端口; 下一条指令在哪里? 4. 下一条指令在哪里? IP←IP+1
微机原理指令系统学习

例3: MOV [CX], 2000H ;错,不能对CX间接寻址
16
五、 变址寻址 操作数在内存中,由指定的寄存器内容,加上指令中给出的8位或16位偏移量作为操作数的偏移地址,计算 方法:
偏移地址=寄存器内容+指令中给定的偏移量 同样,作为变址的寄存器只能有4个:BX, SI, DI, BP,其他寄存器无此功能。
SP
SP
SP 31
3. 交换指令XCHG 格式:XCHG OPRD1, OPRD2
功能:(OPRD1) (OPRD2) 完成通用寄存器之间,通用寄存器与累加器之间、与存储器之间8位,16位数据的相互交换。
例如:XCHG BL, AH
1) 内存之间的数据、累加器之间不可相互交换 2) CS,IP不能参与交换 3) 段寄存器和立即数不能作为一个操作数
寻址方式:是指令中用于说明如何寻找操作数的方法。
计算机中操作数常存放在以下几个地方: 指令代码中,存放常量;MOV AX, 2070H 寄存器中:MOV AX, BX 内存中: MOV AX, [2000H] I/O端口中(仅对INLeabharlann OUT指令): IN AL, 40H
6
8086/8088的基本寻址方式有六种:
XCHG AX, [BX]
32
4. 累加器专用指令(只与AX或AL有关,与AH无关)
1)输入输出指令 输入
CPU
21000H 21001H 21002H 21003H 21004H 21005H 21006H 21007H
12H 34H 56H 78H 9AH BCH DEH F0H
31000H 31001H 31002H 31003H 31004H 31005H 31006H 31007H
微机与原理指令

微机与原理指令
微机原理与指令
微机是由微处理器、存储器、输入输出设备和总线等组成的一种计算机系统。
微机的核心是微处理器,它负责执行计算机指令以完成各种数据处理任务。
微机原理主要涉及微处理器的工作原理和系统结构。
微处理器是由控制器和运算器组成的,控制器负责解码和执行指令,运算器负责进行数值运算。
微处理器通过总线与存储器和输入输出设备进行数据交换。
微机的指令是由二进制代码表示的,每条指令都有特定的操作码和操作数。
操作码指示了要执行的操作,操作数表示参与操作的数据。
指令的执行过程包括指令的取指、指令的解码和指令的执行。
微机的指令集是由一组基本指令组成的,这些指令可以完成各种不同的数据处理操作,包括算术运算、逻辑运算、数据传输等。
微机的指令集通常由机器语言和汇编语言表示,机器语言是计算机能直接识别和执行的,而汇编语言是机器语言的助记符表示。
微机的指令执行是按照指令周期进行的,指令周期包括取指周期和执行周期。
取指周期是指从存储器中读取指令的时间,执行周期是指执行指令的时间。
微机的时钟信号控制着指令周期的运行。
微机的指令集架构有多种类型,常见的有精简指令集计算机(RISC)和复杂指令集计算机(CISC)。
RISC架构的微机指令简单、指令执行速度快,而CISC架构的微机指令复杂、功能强大。
总之,微机原理与指令是了解和学习微机工作原理必不可少的内容,通过对微机原理和指令的学习,可以更好地理解计算机系统的运行和指令的执行过程。
微机原理与接口技术 指令系统整理

微机原理与接口技术指令系统整理一、引言微机原理与接口技术是计算机科学与技术专业中的重要课程之一,它主要介绍了微机的基本原理和接口技术。
其中,指令系统是微机的核心组成部份,它定义了微机的指令集和指令的执行方式。
本文将对微机原理与接口技术中的指令系统进行整理和总结,旨在匡助读者更好地理解和掌握微机的指令系统。
二、指令系统概述1. 定义指令系统是计算机硬件与软件之间的接口,它定义了计算机的指令集和指令的执行方式。
指令系统包括指令的格式、指令的编码方式、指令的功能等内容。
2. 指令集指令集是指计算机所能执行的所有指令的集合。
常见的指令集有精简指令集(RISC)和复杂指令集(CISC)等。
3. 指令的格式指令的格式包括操作码、操作数和寻址方式等部份。
操作码用于指示所执行的操作,操作数用于指定操作的对象,寻址方式用于确定操作数的地址。
4. 指令的编码方式指令的编码方式决定了指令在计算机内部的表示方式。
常见的编码方式有二进制编码、十进制编码和十六进制编码等。
5. 指令的功能指令的功能包括数据传送、算术运算、逻辑运算、控制转移等。
不同的指令可以实现不同的功能。
三、指令系统分类1. 指令的类型指令可以根据其功能和操作对象的不同进行分类。
常见的指令类型有数据传送指令、算术运算指令、逻辑运算指令、控制转移指令等。
2. 指令的寻址方式指令的寻址方式决定了指令如何获取操作数的地址。
常见的寻址方式有即将寻址、直接寻址、间接寻址、寄存器寻址等。
3. 指令的执行顺序指令的执行顺序决定了指令的执行顺序和流程。
常见的执行顺序有顺序执行、条件执行、循环执行等。
四、指令系统设计原则1. 简洁性原则指令系统应尽量简洁,避免冗余和复杂的指令,以提高执行效率和降低设计成本。
2. 完备性原则指令系统应包含常用的指令,能够满足大部份应用需求。
3. 兼容性原则指令系统应与硬件和软件环境兼容,以便于系统的扩展和升级。
4. 可扩展性原则指令系统应具有良好的扩展性,能够支持新的指令和功能的添加。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 数据传送(Data Transter)
• 算术运算(Arithmetic)
• 逻辑运算(Logic)
• 程序控制(Program Control)
2020/6/24
5
寻址方式:是指令中用于说明如何寻找 操作数的方法。
计算机中操作数常存放在以下几个地方:
指令代码中,存放常量;MOV AX, 2070H
寄存器中:MOV AX, BX
内存中: MOV AX, [2000H]
I/O端口中(仅对IN/OUT指令): IN AL, 40H
2020/6/24
;将 扩展段中偏移地址为0020H单元中的内容传 送到AL中去
MOV SS:[0100H], BX
;将 BX中的内容传送到堆栈段中偏移地址为 0100H、0101H的单元中去
2020/6/24
12
四、 寄存器间接寻址
操作数存放在内存中,但其偏移地址存放在指令 中给出的寄存器中。
BX中存放操作数
MOV AX, [BX]
MOV AX, BX ;将 BX中的内容传送到AX中去
MOV AL, BH ;将 BH中的内容传送到AL中去
MOV CL, AX 错误! 不匹配
2020/6/24
8
2020/6/24
9
三、 直接寻址 操作数存放在内存中,在指令中给出存放单元的 偏移地址,如果不加说明,操作数默认在数据段。
物理地址: (DS)×16+指令中给的16位偏移地址
6
8086/8088的基本寻址方式有六种:
寄存器寻址 ;操作数存放在寄存器中 立即寻址 ;操作数存放在内存代码段 直接寻址 ;操作数存放在内存 寄存器间接寻址;操作数存放在内存 变址寻址 ;操作数存放在内存 基址加变址寻址 ;操作数存放在内存
2020/6/24
7
一、 寄存器寻址 操作数放在CPU内部的寄存器中,可以是8位 或16位寄存器,注意源操作数和目的操作数的 位数应一致。
物理地址: (DS)×16+计算出的偏移地址
2、BP作为基地址
物理地址: (SS)×16+计算出的偏移地址
2020/6/24
21
MOV AX, [BX+SI+0200H]
;欲传送的操作数在数据段中,其偏移地址是BX寄 存器中的内容加上SI寄存器中的内容加上0200H
MOV AX, VAL[BX+SI]
;此时传送的操作数在数据段中,其偏移地址是 SI寄存器中的内容加上0200H 变址寻址可以有多种格式:
MOV AX, [BX+0A00H]
MOV AX, TAB[DI] 如:MOV AX, 0200H+[BX]
假设DS:3000H, BX: 1000H 则操作数所在地址:
高8位: 31201H 低8位: 31200H
2、对BP间接寻址
物理地址: (SS)×16+BP中给的16位偏移地址
2020/6/24
14
2020/6/24
15
例1:MOV AX, ES:[BX]
;传送的操作数在附加段中,偏移地址存放在BX 中。
例2:MOV [BP], BX ;将BX中的内容传送到堆栈段中,其目的地的偏 移地址存放在BP中。
MOV AX, 0200H[BX][SI]
MOV AX, 0200H[BX][BP];错误
MOV AX, 0200H[SI][DI];错误
MOV AX, COUNT[BP+SI]
;欲取的数据在堆栈段
2020/6/24
22
2020/6/24
23
2.2 8086/8088指令系统
8088/8086指令系统可以分为以下六个功能组:
微型计算机原理及应用
2020/6/24
1
第二章 8086/8088指令系统
2020/6/24
2
2.1 寻址方式
2.2 8086/8088指令系统
2.2.1 数据传送指令
2.2.2 算术运算指令
2.2.3 逻辑运算和移位指令
2.2.4 程序控制指令
2.2.5 串操作指令
2.2.6 标志处理与CPU控制指令
MOV AX, [0020H]
;将 数据段偏移地址为0020H的地址中的内容传 送到AX中去,相当于: MOV AX, DS:[0020H]
注意:书写时加方括号。
2020/6/24
10
2020/6/24
11
也可以指向内存中其他段的数据,这时要在相 应的偏移地址前加段超越符和“ :”。
MOV AL, ES:[0020H]
例3: MOV [CX], 2000H ;错,不能对CX间接寻址
2020/6/24
16
五、 变址寻址 操作数在内存中,由指定的寄存器内容,加上指 令中给出的8位或16位偏移量作为操作数的偏移地 址,计算方法:
偏移地址=寄存器内容+指令中给定的偏移量
同样,作为变址的寄存器只能有4个:BX, SI, DI, BP,其他寄存器无此功能。
的偏移地址
其中,作为间接寻址的寄存器只能有4个:BX, SI, DI, BP,其他寄存器无此功能。
2020/6/24
Hale Waihona Puke 13注意:用BP间接寻址,操作数默认在堆栈段, 用其余3个寄存器时,操作数默认在数据段。
1、对DI、SI、BX间接寻址 物理地址:
(DS)×16+DI/SI/BX中给的16位偏移地址
2020/6/24
19
六、 基址加变址寻址 操作数存放在内存中,但其偏移地址是由三部分 相加而成:
基址寄存器内容+变址寄存器内容+偏移量
基址寄存器只有2个:BX,默认的操作数在数据段; BP,默认的操作数在堆栈段。
变址寄存器只有2个:SI和DI。
偏移量同样由指令给出。
2020/6/24
20
1、BX作为基地址
2020/6/24
3
2.1 8086/8088寻址方式
指令格式:
操作码 操作数…
操作码:计算机所要执行的操作,或指出操 作类型,是一种助记符。
操作数:操作的对象,可以是操作数本身或
存放操作数的内存(I/O端口)地址或其它有关
操作数的信息 。
2020/6/24
4
汇编语言是一种符号语言,它用助记符 来表示操作码,用符号或符号地址来表 示操作数或操作数地址,它与机器指令 是一一对应的。
2020/6/24
17
注意:用BP变址寻址,操作数默认在堆栈段, 用其余3个寄存器时,操作数默认在数据段。
1、对DI、SI、BX变址寻址
物理地址: (DS)×16+计算出的偏移地址
2、对BP变址寻址
物理地址: (SS)×16+计算出的偏移地址
2020/6/24
18
MOV DH, [SI+0200H]