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

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. 数据传送指令。
数据传送指令是微机中最基本的指令之一,它用于将数据从一个位置传送到另一个位置。
常见的数据传送指令包括MOV、LDM、STM等。
MOV指令用于将数据从一个存储单元传送到另一个存储单元,LDM指令用于将数据从内存中加载到寄存器中,STM指令用于将数据从寄存器中存储到内存中。
这些指令在程序设计中应用广泛,是程序运行过程中不可或缺的一部分。
2. 算术运算指令。
算术运算指令用于对数据进行加减乘除等算术运算,常见的算术运算指令包括ADD、SUB、MUL、DIV等。
ADD指令用于将两个操作数相加,SUB指令用于将一个操作数减去另一个操作数,MUL指令用于将两个操作数相乘,DIV指令用于将一个操作数除以另一个操作数。
这些指令在编程中经常用到,能够实现各种复杂的算术运算。
3. 逻辑运算指令。
逻辑运算指令用于对数据进行逻辑运算,常见的逻辑运算指令包括AND、OR、NOT、XOR等。
AND指令用于对两个操作数进行与运算,OR指令用于对两个操作数进行或运算,NOT指令用于对操作数进行取反运算,XOR指令用于对两个操作数进行异或运算。
这些指令在逻辑判断和条件控制中起着重要作用,能够实现各种复杂的逻辑运算。
4. 控制转移指令。
控制转移指令用于改变程序的执行顺序,常见的控制转移指令包括JMP、CALL、RET、JZ、JNZ等。
JMP指令用于无条件跳转到指定的地址,CALL指令用于调用子程序,RET指令用于从子程序返回,JZ指令用于在零标志位为真时跳转,JNZ指令用于在零标志位为假时跳转。
这些指令在程序的控制流程中起着关键作用,能够实现复杂的程序控制逻辑。
微机原理指令大全

微机原理指令大全微机原理是计算机科学中的重要基础知识,而指令则是微机原理中的核心内容之一。
指令是计算机中的基本操作命令,它直接影响着计算机的运行和执行效率。
本文将为大家详细介绍微机原理中常见的指令,并提供一份完整的指令大全,希望能够帮助大家更好地理解和掌握微机原理中的指令知识。
一、数据传送指令。
数据传送指令是微机原理中最基本的指令之一,它用于将数据从一个地方传送到另一个地方。
常见的数据传送指令包括MOV、LDM、STM等。
这些指令可以实现寄存器之间、寄存器和内存之间、内存和输入输出设备之间的数据传送操作,是计算机程序中不可或缺的一部分。
二、算术运算指令。
算术运算指令用于进行各种数值计算操作,包括加法、减法、乘法、除法等。
常见的算术运算指令有ADD、SUB、MUL、DIV等。
这些指令可以对寄存器和内存中的数据进行各种算术运算,是计算机程序中常用的指令之一。
三、逻辑运算指令。
逻辑运算指令用于进行各种逻辑操作,包括与、或、非、异或等。
常见的逻辑运算指令有AND、OR、NOT、XOR等。
这些指令可以对寄存器和内存中的数据进行逻辑运算,是计算机程序中实现逻辑判断和控制流程的重要指令之一。
四、转移指令。
转移指令用于改变程序的执行顺序,包括无条件转移和条件转移两种。
常见的转移指令有JMP、JZ、JNZ、JC、JNC等。
这些指令可以实现程序的跳转和循环控制,是计算机程序中实现各种复杂逻辑的重要指令之一。
五、比较指令。
比较指令用于比较两个数据的大小关系,常见的比较指令有CMP、TEST等。
这些指令可以对寄存器和内存中的数据进行比较操作,并根据比较结果设置标志位,是实现条件转移和逻辑判断的重要指令之一。
六、输入输出指令。
输入输出指令用于实现计算机与外部设备的数据交换,包括输入数据和输出数据两种操作。
常见的输入输出指令有IN、OUT等。
这些指令可以实现计算机与外部设备之间的数据传输,是计算机程序中实现输入输出功能的重要指令之一。
微机原理第02章(指令系统)2

加法指令:ADD, ADC和INC 减法指令:SUB, SBB, DEC, NEG和CMP 他们分别执行字或字节的加法和减法运算, 除 INC 和 DEC 不影响 CF 标志外,其他按定 义影响全部状态标志位 操作数组合:
运算指令助记符 reg, imm/reg/mem 运算指令助记符 mem, imm/reg
第2章:5. 求补指令NEG(negtive)
4.取补指令 格式:NEG OPRD (OPRAND ) 功能:OPRD取补 (取反加1) 相当0-操作数,所以算入减法; 且一般CF=1(0-肯定有借位), 只有OPRD=0时CF=0
第2章:例题2.9 求补运算
mov ax,0ff64h neg al ;AL=0-64H=9CH,AX=FF9CH ;OF=0, SF=1,ZF=0,PF=1,CF=1 sub al,9dh ;AL=9CH-9DH=FFH,AX=FFFFH ;OF=0,SF=1,ZF=0,PF=1,CF=1 neg ax ;AX=0-FFFFH=0001H ;OF=0,SF=0,ZF=0,PF=0,CF=1 dec al ;AL=01H-1=0,AX=0000H ;OF=0,SF=0,ZF=1,PF=1,CF=1 neg ax ;AX=0-0=0 ;OF=0,SF=0,ZF=1,PF=1,CF=0
第2章:例题2.10 符号扩展
mov al,64h
;AL=64H (机器数) ,表示10进制数100(真值)
cbw
;将符号0扩展,AX=0064H,仍然表示100
mov ax,0ff00h
;AX=FF00H,表示有符号10进制数-256
cwd
;将符号位“1”扩展,DX.AX=FFFFFF00H ;仍然表示-256
003_微机原理-指令系统_2

MOV DS, AX
不影响标志位
3.3 指令系统—换码指令
指令书写格式: XLAT
指令执行的操作:
(AL)←((DS:BX+AL)) 查表操作,将BX指定的缓冲区中、AL指定的位移处的一个字节数 据取出赋给AL
指令说明
操作数隐含使用基地址寄存器BX与AL寄存器 换码指令执行前,在主存建立一个字节量表格,内含要转换的目 的码字,表格首地址存放于BX,AL存放相对表格首地址的位移量 换码指令执行后,指令将AL寄存器的内容转换为目标码字,因为 偏移量AL为8位,表格长度≤256字节 不影响标志位
数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令
控制转移指令
处理器控制指令
3.3 指令系统-通用数据传送指令
指令书写格式: MOV dst, src
指令执行的操作:(dst)←(src) 指令说明
操作数类型:立即操作数,寄存器操作数,存储器操作数 立即操作数不能作为目的操作数DST 错误:MOV 30H, AL 两个操作数也不能同时为存储器操作数 错误: MOV [DI+100H], [SI+200H]
dst为目的操作数,操作数类型可为寄存器操 作数或存储器操作数 cnt为移位次数,可为立即数1,或由寄存器 CL指定 SHL、SHR和SAL指令影响标志位CF和OF, cnt=1时,SHL与SAL移位后的最高位和CF不 同,则OF=1;SHR,OF=移位前最高位 SAR指令影响标志位CF、OF、PF、SF、ZF, AF不确定;
; 测试AL中数据的奇、偶
3.3 指令系统-移位指令
逻辑左移指令: SHL dst, cnt 算术左移指令: SAL dst, cnt
微机原理与应用:第十六讲 指令系统的小结

data→ Rn
78~7F data
2
data →direct 75 direct data 3
1 ××× × 2 ××× ×
5
5、影响标志位的指令
加法和减法指令影响4个标志位(Cy、AC、OV、P)。 目的操作数是ACC的逻辑运算指令影响P位。 目的操作数是ACC数据传送指令影响P位。 目的操作数是ACC的加1和减1指令影响P位。 比较不相等指令影响Cy位。
第十六讲 指令系统的小结
1
§3.7指令的小结
一、指令表结构
1、指令按功能分类编排 一共分四类
(1)数据传送类 (2)数据处理类 (3)位操作类 (4)控制转移类
2
2、指令表分6栏
指令助记符号 MOV A, Rn
(1)指令助记符一栏 (2)指令功能说明一栏 (3)指令机器代码一栏 (4)指令长度说明一栏 (5)指令执行时间说明一栏 (6)标志位一栏
3) 30H~7FH(数据缓冲器和堆栈区域) 寻址方式有:直接寻址、寄存器间接寻址。
4)80H~FFH(数据缓冲器和堆栈区域) 寻址方式有:寄存器间接寻址。
13
实验四、转移类指令和位操作类指 令的认识
一、实验目的 掌握51系列单片机指令系统中转移类和位操作类指令。 二、实验工具 采用软件工具Keil μVision2。
进行X Y运算。
F0是用户自定义位,此作为暂存X 运算结果 将变量Y的内容送至Cy。 进行 X Y 运算。
进行X Y+ XY 逻辑运算。
将逻辑运算结果送至02H位单元。 恢复现场,恢复PSW入子程序前的内容。 返回至SUB2。
17
课堂互动七
题一:若指令JBC TI,NEXT的地址为8053H,该指令的偏移 量为93H,指令执行前(TI)=1,问执行完该指令PC的 内容是什么?转移地址NEXT是什么?TI是什么?
微机原理第五章《指令系统》课件知识点讲解要点归纳

概念:
• 指令:要求计算机执行某种操作的命令 • 一台计算机,其所有机器指令的集合构成机器的指令系统 • CISC-Complex Instruction Set Computer,复杂指令系统 计算机 • RISC-Reduced Instruction Set Computer,精简指令系统 计算机 • RISC计算机提出的依据 • RISC计算机的主要特点:
第五章 指令系统(14)
指令 I1 I2 I3 I4 I5 I6 I7 Pi 0.45 0.30 0.15 0.05 0.03 0.01 0.01 操作码 00 01 10 1100 1101 1110 1111 长度(位) 2 2 2 4 4 4 4
这种方案的操作码的平均长度为: L=(0.45+0.30+0.15)×2+(0.05+0.03+0.01+0.01)×4=2.2(位) 这种方案虽然使操作码的平均长度稍有增长,但给操作码译码带来方便,通常 称作“扩展操作码法” 。
OP D1 D2 D3 三地址指令
OP
OP
D1
D
D2
二地址指令
单地址指令
OP
说明:
零地址指令
•三地址指令包含三个地址,其基本操作是 : (D1) OP (D2)→ D3
•二地址指令包含两个地址,其基本操作是:(D1) OP (D2)→ D1或D2
•单地址指令中只包含一个地址,可有两种情况:
(1) 本指令为双操作数指令,但约定一个操作数固定存放在累加器(AC)中,其基本 操作是: (AC) OP (D)→ AC (2) 本指令为单操作数指令,例如将某个地址D中的内容加1或减1等。
a 0 0 0 0 0 0 0 0 1 1
微机原理指令知识点总结

微机原理指令知识点总结一、指令概述指令是计算机硬件执行的基本命令。
计算机中的指令由操作码和地址码两部分组成,操作码用来表示指令的功能,地址码用来表示操作数的地址。
根据指令的功能不同,可以分为数据操作指令、控制指令和I/O指令等。
指令的执行是按照存储在内存中的程序顺序执行的,每条指令都有其对应的操作过程和执行结果。
二、指令的格式在计算机中,指令一般由操作码、地址码和操作数等部分组成。
操作码用来表示指令的功能,地址码用来表示操作数的地址,操作数是指令执行的对象,可以是数据或者地址等。
指令的格式一般有以下几种:三地址指令、二地址指令、一地址指令和零地址指令。
不同的指令格式对应了不同的指令功能和操作方式,程序员需要根据具体的需求选择合适的指令格式。
三、指令的执行过程指令的执行过程一般包括指令的取指、指令的译码、指令的执行和存储结果等步骤。
在执行指令的过程中,计算机需要根据指令的操作码和地址码来确定要执行的操作以及操作数的来源。
指令的执行结果一般存储在寄存器或者内存中,以便后续的指令继续执行。
四、指令的体系结构指令的体系结构一般包括指令系统的设计原则、指令的寻址方式、指令的格式设计和指令的执行过程等内容。
指令系统的设计原则是指在设计指令系统时需要考虑的指导思想,例如简洁、高效和易于理解等。
指令的寻址方式是指指令中的地址码如何确定操作数的地址,有直接寻址、间接寻址、寄存器寻址和变址寻址等方式。
指令的格式设计是指指令的操作码、地址码和操作数等部分的组织方式,不同的格式设计对指令的功能和效率有着重要影响。
指令的执行过程是指计算机在执行指令时的操作过程和执行结果,需要考虑指令的周期、时序和流水线等方面。
五、常见的指令类型常见的指令类型包括数据操作指令、控制指令和I/O指令等。
数据操作指令是用来对数据进行操作的指令,包括数据传输、逻辑运算、算术运算和移位操作等。
控制指令是用来控制程序执行流程的指令,包括跳转、调用子程序、返回子程序和中断等。
- 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]