第二章 指令系统(1).
系统结构讲义-2

码元分配:从树根开始,对每个中间结点的左右2个分支边各赋予
一位代码“0”和“1”(“0”在哪一侧不限)。读出从根结点到任一片树叶 的路径上依次出现的代码位就排成了这个事件(即指令)的完整编码。 由于频度高的事件较晚被合并,它的编码位数也就较少,符合Huffman压 缩原则。
上面所说的频度值就是各事件实际出现次数的百分比, 它是理论出现概率的近似值。 例:假设一台模型计算机共有7种不同的操作码,已 知各种操作码在程序中出现的概率如下表,利用Huffman 编码法进行操作码编码。 指令 概率 I1 0.45 I2 0.30 I3 0.15 I4 0.05 I5 0.03 I6 0.01 I7 0.01
第二章 指令系统
2.3 指令格式的优化设计
指令格式的优化是指如何用最短的二进制位数表示指令的操作码信息和 地址码信息,使指令的平均字长最短,同时便于译码。
指令的组成 操作码 地址码
1) 指令的操作种类。 2) 所用操作数数据 类型。
1) 操作数地址。 2) 地址附加信息。 3) 寻址方式。
指令格式的优化设计目标: 1) 使程序中指令的平均字长最短,节省程序的存储空间。 2) 指令格式要规整,减少硬件译码的复杂程度。
1632和64位固定32位指令时钟频率随技术发展而变化随技术发展而变化寄存器堆824个通用寄存器32192个分离的整数和浮点寄存器堆指令系统规模和类型约300条多于48种指令类型大都基于寄存器寻址方式约12种包含间接变址寻址35种只有取存寻址存储器高速缓存设计较早使用合一高速缓存有些使用分离高速缓存大多数使用分离的数据和指令高速缓存cpi及平均cpi120个周期平均4个简单操作1个周期平均约15个cpu控制大多数用微程序控制有些使用硬连线控制大多数用硬连线控制没有控制存储器代表性商品化处理器intelx86vax8600ibm390mc68040intelpentiumamd486和cyrix686sunultrasparcmipsr10000powerpc604hppa8000digitalalpha21164混合混合ciscriscciscrisc体系结构体系结构pentiumpropentiumpro处理器的处理器的ciscriscciscrisc体系结构体系结构分分基于基于riscrisc核心核心dbab将将x86x86代码转化为代码转化为riscrisc指令指令
08系统结构练习题

第一章、概论1、在计算机系统的层次结构中,从低层到高层,各层相对顺序正确的是( )。
A .汇编语言机器级——操作系统机器级——高级语言机器级B .微程序机器级——传统机器语言机器级——汇编语言机器级C .传统机器语言机器级——高级语言机器级——汇编语言机器级D .汇编语言机器级——应用语言机器级——高级语言机器级2、直接执行微指令的是( )。
A .汇编程序B .编译程序C .硬件D .微指令程序3、在计算机的系统结构设计中,提高硬件功能实现的比例会( )。
A .提高硬件利用率B .提高系统的运行速度C .减少需要的存储器量D .提高系统的性能价格比4、在计算机的系统结构设计中,提高软件功能实现的比例会( )。
A .提高解题速度B .减少需要的存储器量C .提高系统的灵活性D .提高系统的性能价格比5、在CISC 中,各种指令的使用频度相差悬殊,大致有以下的结果。
大约有 (比例)的指令使用频度较高,占据了 (比例)的处理机时间。
名词解释:CPI 、 Amdahl 定律、局部性原理、透明性1、 计算机系统的Flynn 分类法是按什么来分类的,共分为哪几类,简要说明各类的特征。
2、如有一个经解释实现的计算机,可以按功能划分成4级。
每一级为了执行一条指令需要下一级的N 条指令解释。
若执行第一级的一条指令需K ns 时间,那么执行第2、3、4级的一条指令各需用多少时间。
4、用一台40MHZ 处理机执行标准测试程序,它含的混合指令数和相应所需的时钟周期数如下:求有效CPI 、MIPS 速率和程序的执行时间。
5、假设高速缓存Cache 的工作速度为主存的5倍,且Cache 被访问命中的概率为90%,那么采用Cache 后能使整个存储系统获得多高的加速币?6、如果某计算机系统有3个部件可以改进,则这三个部件经改进后的加速比分别为:S1=30,S2=20,S3=10。
(1)如果部件1和部件2改进前的执行时间占整个系统执行时间的比例都为30%,那么,部件3改进前的执行时间占整个系统执行时间的比例为多少,才能使3个部件都改进后的整个系统的加速比Sn 达到10?36%(2)如果3个部件改进前执行时间占整个系统执行时间的比例分别为30%、30%和20%,那么,3个部件都改进后系统的加速比是多少?未改进部件执行时间在改进后的系统执行时间中占的比例是多少?4.1,0.82指令类型 指令数 时钟周期数 整数运算 45000 1 数据传送 32000 2 浮点 15000 2 控制传送 8000 21、RISC思想的精华是。
计算机学科专业基础综合组成原理-指令系统(一)

计算机学科专业基础综合组成原理-指令系统(一)(总分:154.00,做题时间:90分钟)一、单项选择题(总题数:40,分数:80.00)1.下列描述中 ____ 是正确的。
(分数:2.00)A.加法指令的执行周期一定要访存B.加法指令的执行周期一定不访存C.指令的地址码给出存储器地址的加法指令,在执行周期一定访存√D.指令的地址码给出存储器地址的加法指令,在执行周期不一定访存解析:指令的地址码部分是操作数的地址,而地址码给出存储器地址,表示加法指令在执行周期中取出操作数要从存储器中得到,所以一定会访问存储器。
2.基址寻址方式中,操作数的有效地址是 ____ 。
(分数:2.00)A.基址寄存器内容加上形式地址(位移量) √B.程序计数器内容加上形式地址C.变址寄存器内容加上形式地址D.寄存器内容加上形式地址解析:根据基址寻址方式的定义,操作数的有效地址是基址寄存器的内容加上形式地址(位移量)。
3.与本指令的地址有关的寻址方式是 ____ 。
(分数:2.00)A.立即寻址B.寄存器寻址C.相对寻址√D.直接寻址解析:题中四种寻址方式只有相对寻址需要用程序计数器的内容,也就是本指令的地址,所以答案选C。
4.子程序调用指令执行时,要把当前程序计数器(PC)的内容存到 ____ 。
(分数:2.00)A.通用寄存器B.堆栈√C.指令寄存器D.数据缓冲器解析:子程序调用指令执行时,为了在子程序结束后正确返回到主程序中,所以要把当前PC的内容放入堆栈保存起来。
5.存储器按字节编址,在向上生成(地址码减小方向)堆栈中,若约定为实顶栈(即堆栈指针随时指向实有数据的堆顶),设SP=1428H,AX为16位累加寄存器,则执行一条指令PUSH AX后,SP内容为 ____ 。
(分数:2.00)A.1427B.142AC.1430D.1426 √解析:据题意,应该先使(SP)-1,再写入数据,而AX为16位寄存器,占用2个堆栈单元,所以SP的内容减1两次。
钱晓捷新版汇编语言程序设计习题答案(1-4)

钱晓捷新版汇编语言程序设计习题答案第一章汇编语言基础知识1.17、举例说明CF和OF标志的差异。
溢出标志OF和进位标志CF是两个意义不同的标志进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确;溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确•例1:3AH + 7CH=B6H无符号数运算:58+124=182,范围内,无进位有符号数运算: 58+124=182 ,范围外,有溢出•例2:AAH + 7CH=(1)26H无符号数运算:170+124=294,范围外,有进位有符号数运算:-86+124=28 ,范围内,无溢出1.20、8086有哪4种逻辑段,各种逻辑段分别是什么用途?(解答)代码段(Code Segment)用来存放程序的指令序列。
处理器利用CS : IP取得下一条要执行的指令•堆栈段(Stack Segment)确定堆栈所在的主存区域。
处理器利用SS : SP操作堆栈中的数据•数据段(Data Segment)存放当前运行程序所用的数据。
处理器利用DS : EA存取数据段中的数据•附加段(Extra Segment)是附加的数据段,也用于数据的保存。
处理器利用ES : EA存取数据段中的数据第二章8086指令系统2.1已知DS = 2000H、BX = 0100H、SI = 0002H,存储单元[20100H] ~ [20103H]依次存放12 34 56 78H,[21200H] ~ [21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。
(1) mov ax,1200h ;AX=1200h(2) mov ax,bx ; AX=0100h(3) mov ax,[1200h] ; AX=4C2Ah(4) mov ax,[bx] ; AX=3412h(5) mov ax,[bx+1100h] ; AX=4C2Ah(6) mov ax,[bx+si] ; AX=7856h(7) mov ax,[bx][si+1100h] ; AX=65B7h2.2指出下列指令的错误(1) mov cx,dl 两操作数类型不匹配(2) mov ip,ax IP 指令指针禁止用户访问(3) mov es,1234h 立即数不允许传给段寄存器(4) mov es,ds 段寄存器之间不允许传送(5) mov al,300 两操作数类型不匹配(6) mov [sp],ax 目的操作数应为[ BP ](7) mov ax,bx+di 源操作数应为 [BX+DI](8) mov 20h,ah 立即数不能作目的操作数2.3已知数字0 ~ 9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。
微机原理指令系统的学习

;此时传送的操作数在数据段中,其偏移地址是 SI寄存器中的内容加上0200H 变址寻址可以有多种格式:
MOV AX, [BX+0A00H]
MOV AX, TAB[DI] 如:MOV AX, 0200H+[BX]
假设DS:3000H, BX: 1000H 则操作数所在地址:
高8位: 31201H 低8位: 31200H
存储器
格式:IN AL , PORT IN AX, PORT
功能:从PORT口输入数据到AL(AX)。
格式:OUT PORT , AL OUT PORT, AX
功能20:20/7/将17 AL(AX)中的内容从PORT口输出。
33
IN AL, 40H
OUT 40H , AL
8位
IN AX, 40H
功能: (OPRD2) OPRD1
•CPU内部寄存器之间数据的传送(除CS、IP)
•立即数传送至CPU内部的通用寄存器组
•CPU内部的寄存器(除CS、IP)与存储器(所有寻 址方式)之间
•能实现用立即数给存储单元赋值
2020/7/17
25
注意: • CS,IP不能作为目的操作数 MOV CS, AX • 两个段寄存器间不能直接传送 MOV SS, DS • 立即数不能直接传送给段寄存器 MOV DS,2000H • 内存单元间不能直接传送 MOV [SI], [2000H] • 立即数不能作为目的操作数 MOV 1000H, AX
而执行POP BX后,栈顶的物理地址是:
20190H+2H=20192H
2020/7/17
30
2020/7/17
31
3. 交换指令XCHG 格式:XCHG OPRD1, OPRD2
计算机组成原理 MIPS

k
c j
字对齐方式下的存储器访问
速度较高 接口较简单
CPU
寄存器 Byte3
Byte2
Byte1
Byte0
2020/11/20
Byte3 Byte2 Byte1 Byte0 存储器
字不对齐方式下的存储器访问
节省空间 访存速度慢 接口复杂
CPU
寄存器 Byte3 Byte2 Byte1 Byte0
操作码 地址码 1 地址码 2 地址码 3
例1 设某台计算机有100条指令, (1) 采用固定长度操作码编码,试设计其操作码的编码。 (2) 假如这100条指令中有10条指令的使用概率达到90%,其余 90条指令的使用概率为10%。试采用不等长编码设计操作码。
解:
(1) 采用固定长度操作码编码时,需要7位操作码。 取其中的100个代码作为指令操作码,可以用 0000000到1100011之间的代码代表100条指令,即
2020/11/20
访存次数问题
– Char c; – Short int i,j; – int k;
int i Int k
Char c Short j Int k
字对齐方式下的数据存储
2020/11/20
空间浪费问题
– Char c; – Short int i,j; – int k;
零地址指令
操作码
地址码
1111 1100 0000 0000~1111 1100 0000
指令的格式
R1
ADD load
2020/11/20
三、指令长度
固定长度
– 取指快、译码简单。 – 单字长、双字长、多字长
可变长度
– 可提高编码效率 四、指令助记符
系统结构复习

中国地质大学(武汉)计算机学院吴湘宁计算机体系结构习题及答案第一章基础知识1.名词解释翻译解释模拟仿真透明性程序访问局部性[答案]略2. 一个经解释实现的计算机可以按功能划分为四级. 每一级为了执行一条指令需要下一级的N条指令. 若执行第一级的一条指令需要的时间为K ns, 那么执行第二、三、四级的一条指令各需要多少时间?3. 计算机系统按功能划分层次结构的好处主要体现在哪些方面?[答案] (1) 有利于理解软件, 硬件和固件在系统中的地位和作用;(2) 有利于理解各种语言的实质和实现途径;(3) 有利于推动计算机系统结构的发展;(4) 有利于理解计算机系统结构的定义.4. 什么是透明性? 对计算机系统结构, 下列哪些是透明的? 哪些是不透明的?1) 存储器的模m交叉存取; 2) 浮点数据表示; 3) I/O系统是采用通道方式还是I/O处理机方式; 4) 阵列运算部件; 5) 数据总线宽度; 6) 通道是采用结合型的还是独立型的; 7) 访问方式保护; 8) 程序性中断; 9) 串行、重叠还是流水控制方式; 10) 堆栈指令; 11) 存储器的最小编址单位; 12) Cache存储器.[答案] 一种本来是存在的事务或属性, 但从某种角度看却好像不存在, 称为透明性.对计算机系统结构来说透明的是: 1), 4), 5), 6), 9), 12)对计算机系统结构来说不透明的是:2), 3), 7), 8), 10), 11)5. 什么是计算机体系结构? 什么是计算机组成? 什么是计算机实现? 并说明三者的关系和相互影响?[答案] 计算机系统结构是计算机系统的软, 硬件分界面, 是机器语言程序员或是编译程序员所需了解的计算机属性;计算机组成是计算机系统结构的逻辑事项;计算机实现是计算机组成的物理实现.三者的关系和互相影响为:(1) 具有相同系统结构的计算机可以采用不同的组成;(2)(2) 一种计算机组成可以采用多种不同的计算机实现;(3) 计算机组成、计算机实现对计算机系统结构有着很大的影响;(4) 计算机系统结构的设计不应限制计算机组成和实现技术,应能用于高档机,也可用于低挡机;(5) 在不同时期, 计算机系统结构,、组成和实现所包含的内容会有所变化,三者之间的界线常常很模糊.6. 从机器(汇编)语言程序员角度看, 以下哪些是透明的?1) 指令地址存储器; 2) 指令缓冲器; 3) 时标发生器; 4) 条件码寄存器; 5) 乘法器; 6) 主存地址寄存器; 7) 磁盘外设; 8) 先行进位链; 10) 通用寄存器; 11) 中断字寄存器.[答案] 对机器(汇编)语言程序员来说透明的有: 2), 3), 5), 6), 8), 9)对机器(汇编)语言程序员来说不透明的有: 1), 4), 7), 10), 11)7. 假设在一台40 MHz处理机上运行200 000条指令的目标代码, 程序主要由四种类型的指令所组成. 根据程序跟踪实验结果, 各类指令的混合比和每类指令的CPI值如表1.9所示.(1) 试计算在单处理机上执行上述该程序时的平均CPI;(2) 根据(1)所得到的CPI, 计算相应的MIPS速率及程序的执行时间.[答案] (1) 2.24 CPI (2) 17.86 MPIS; 0.0112 s8. 某工作站采用时钟频率为15 MHz、处理速率为10 MIPS的处理机来执行一个程序,假定每次存储器存取为1周期延迟, 试问:(1) 此计算机的有效CPI是多少?(2) 假定将处理机的时钟频率提高到30 MHz, 但存储器子系统速率不变, 这样, 每次存储器存取需要两个时钟周期. 如果30%的指令每条只需要一次存储存取, 而另外5%的指令每条需要两次存储存取, 还假定已知混合程序的指令数不变, 并与原工作站兼容, 试求改进后的处理机性能.[答案] (1) 1.5 CPI; (2) 15.8 MPIS9.什么是并行性?它分为哪两种类型?开发计算机系统并行性的主要技术途径有哪三个?沿这些途径分别发展出什么类型的计算机?[答案]略10.实现软件移植的途径有哪些?[答案]略11.什么是Flynn分类法,按照Flynn分类法可将计算机系统分为哪几类?[答案]略第二章指令系统1. 名词解释数据类型、数据表示、规格化浮点数、Huffman编码、扩展编码、RISC[答案]略2. 某模型机有8条指令I1~I8, 它们的使用频度分别为0.3, 0.3, 0.2, 0.1, 0.05, 0.02, 0.02, 0.01.(1) 试分别用Huffman编码和平均码长最短的等长扩展码(限定为两种码长)对其操作码进行编码.(2) 分别计算Huffman编码和等长扩展码编码的平均长度.[答案] (1) 操作码的Huffman编码和2-4等长扩展码编码如下表1所示.(2) Huffman编码的平均长度为2.38位; 等长扩展码编码的平均码长为2.8位.3. 某模型机有10条指令I1~I10, 它们的使用频度分别为0.3, 0.24, 0.16, 0.12, 0.07, 0.04, 0.03,0.02, 0.01, 0.01.(1) 计算机采用等长操作码表示时的信息冗余量.(2) 要求操作码平均码长最短, 试设计操作码的编码, 并计算所设计操作码的平均长度. (3) 设计2-5扩展操作码编码,并计算平均码长.(4) 设计2-4(2/8)等长扩展码编码,并计算平均码长. [答案] (1) 采用等长操作码表示时的信息冗余量为33.5%. (2) 操作码的Huffman编码如表2所示, 此种编码的平均长度为2.7位.(3) 操作码的2-5扩展码编码如表2所示, 此种编码的平均长度为2.9位.(4) 操作码的2-4(2/4)等长扩展码编码如表2所示, 此种编码的平均长度为2.92位.4. 何谓指令格式的优化? 操作码和地址码的优化一般采用哪些方法?[答案] 指令格式的优化是指通过采用多种不同的寻址方式, 地址制, 地址形式和地址码长度以及多种指令字长, 并将它们与可变长操作码的优化表示相结合, 就可以构成冗余度尽可能少的指令字. 操作码的优化采用扩展操作码编码法. 地址码优化有以下四种方法:(1) 在指令中采用不同的寻址方式;(2)(2) 在指令中采用多地址制;(3) 同一种地址制还可以采用多种地址形式和长度, 也可以考虑利用空白处来存放直接操作数或常数等;(4) 在以上措施的基础上, 还可以进一步考虑采用多种指令字长度的指令.5. 若某机设计有如下指令格式的指令:三地址指令12种, 一地址指令254种, 设计指令的长度为16位, 每个地址码字段的位数均为4位. 若操作码的编码采用扩展操作码, 问二地址指令最多可以设计多少种? [答案] 二地址指令最多可以设计48种.6. 一台模型机共有九条指令I1~I9, 各指令的使用频度分别为0.3,0.2,0.2,0.1,0.08,0.6,0.03, 0.02, 0.01. 该模型机有8位和16位两种指令字长. 8位字长指令为寄存器----寄存器(R--R)二地址类型, 16位字长指令为寄存器----存储器(R--M)二地址变址寻址类型.(1) 试设计有两种码长的扩展操作码, 使其平均码长最短, 并计算此种编码的平均码长. (2) 在(1)的基础上, 该机允许使用多少个可编址的通用寄存器?(3) 若采用通用寄存器作为变址寄存器, 试设计该机的两种指令格式, 并标出各字段的位数.(4) 计算变址寻址的偏移地址范围.[答案] (1) 操作码的2-5扩展码编码如表3所示, 此种编码的平均长度位2.9位.2) 在(1)的基础上, 该机允许使用8个可编址的通用寄存器.(3) 该机的两种指令格式及各字段的位数如下:R-R型: 操作码OP (2位) | 源寄存器RS (3位) | 目的寄存器Rd (3位)R-M型: 操作码OP (5位) | 源寄存器RS (3位) | 变址寄存器RX (3位) | 偏移地址 (5位)(4) 变址寻址的偏移地址范围为-16~+15.7. 简述CISC的特点.[答案] CISC的特点如下:(1) 庞大的指令系统;(2) 采用了可变长度的指令格式;(3) 指令使用的寻址方式繁多;(4) CISC指令系统中包括一些用于特殊用途的指令, 各种指令的使用频度相当悬殊.8. 从指令格式, 寻址方式以及平均CPI三个方面, 比较经典CISC和纯RISC体系结构.[答案] 略9.简述RISC设计的一般原则。
微机原理复习题

6、下列指令中,有语法错误的指令是 C)JMP WORD PTR[BX+8]
7、“先工作后判断”的循环程序结构中,循环执行的次数最 少是 次。 A)1 A)OF B)0 标志 (C)SF (D)ZF 。 (B)CF C)2 D)不定 8、DEC指令不影响
9、条件转移指令JNE的测试条件是 A)ZF=1 (B)CF=1 (C)ZF=0 (D)CF=0
14、输入/输出指令中的端口包含直接寻址和间接寻址两种方式, 其中直接寻址的端口地址范围是 ,间接寻址时必须使用寄 存器 ,寻址范围是 。 15、 已知AL=35H,BL=0DEH,对带符号数执行 ADD AL,BL后, CF= ,OF= 。 16、 寻址方式是指 ,指令MOV COUNT[SI],AX中,目的 操作数采用的是 寻址方式,该操作数在 段。 17、一个有20个字的数据区,它的起始地址为50B0: H,该数 据区的最后一个字单元的物理地址为5B71CH。
20、已知中断控制器8259A的IR0的中断型号为88H,则其IR5的 中断类型号为 。*** A)8DH B)88H C)82H D)不能确定,需另外设置
二、填空题
1 、 8088 具 有 根 地 址 线 。 在 访 问内 存 时 使用 地 址 线 ,可直接寻址 容量的内存范围;在访问外 设时使用地址线 ,共能寻址 输入输出端口。 执行一条指令所需要的时间被称为 周期,而总线 周期指的是 ,8088典型的总线周期由 个 T 组成。如果8088的CLK引脚接2MHz的时钟信号,那么每个 T状态的持续时间为 。 2、在立即寻址方式下,操作数存放在 段中;在直接寻
9、乘法指令中规定:字节运算时,乘积被默认存放在 寄 存器中。 10、定义了的变量名具有: 、 、 、 和 属性。 11、32位微处理器除算术逻辑部件和控制部件以外,还包含一 组 以及 等特殊的存储器。(数据cache和指令cache) 12、在半导体存储器中,RAM指的是 ,它可读可写,但断电 后信息一般会 ;而ROM指的是 ,正常工作时只能 从中 信息,但断电后信息 。以EPROM芯片2764为 例,其存储容量为8K×8位,共有 条数据线和 条地 址线。用它组成32KB的ROM存储区共需 片2764芯片。 13、主机与I/O间的数据传送的方式通常 有 、 、 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MOV AX, 0102H
2018/10/11
;AX←0102H
10
立即数寻址方式
2018/10/11
11
例:
• 将立即数0102H送至AX寄存器 • 汇编指令: MOV AX,0102H ; • 指令功能: AX←0102H ; • 指令代码:B8 02 01
2018/10/11
12
代码段
2018/10/11
2018/10/11
17
3
存储器寻址方式
• 操作数在主存储器中,用主存地址表示 • 程序设计时,8088采用逻辑地址表示主存地址
– 段地址在默认的或用段超越前缀指定的段寄存器中 – 指令中只需给出操作数的偏移地址(有效地址EA)
8086设计了多种存储器寻址方式
1、直接寻址方式 2、寄存器间接寻址方式 3、基址寻址方式 4、变址寻址方式 5、基址变址寻址方式
2018/10/11 4
二、指令的助记符格式
操作码 操作数1,操作数2 ;注释
• 操作数2:常被称为源操作数src,它表示参与指令 操作的一个对象 • 操作数1:常被称为目的操作数dest,它不仅可以 作为指令操作的一个对象,还可以用来存放指令 操作的结果; dest OP src dest • 分号后的内容是对指令的解释
2018/10/11
6
四、程序
程序是为解决某一问题而编写在一起的指令序列。
机器语言程序:由机器指令书写的程序 汇编语言程序:由符号指令书写的程序 高级语言程序:由高级语言书写的程序,高级语 言的基础是语句,而不是处理器的指令系统 汇编语言程序和高级语言程序必须先翻译成机 器语言程序才能执行。这一翻译过程对汇编语 言程序叫做汇编(assemble),对高级语言程 序叫做编译(compilation)或解释 (interpretation)
2018/10/11 9
1
立即数寻址方式
• 指令中的操作数直接存放在机器代码中,紧跟在 操作码之后(操作数作为指令的一部分存放在操 作码之后的主存单元中) • 这种操作数被称为立即数imm – 可以是8位数值i8(00H~FFH) – 也可以是16位数值i16(0000H~FFFFH) • 立即数寻址方式常用来给寄存器和存储单元赋值, 多以常量形式出现
2018/10/11 18
1)直接寻址方式
• 直接寻址方式的有效地址在指令中直接给出 • 默认的段地址在DS段寄存器,可使用段超越前 缀改变 • 用中括号包含有效地址,表达存储单元的内容
13
说明:
• 立即数寻址方式常用来给寄存器和存储单元赋初值。
• 在汇编语言中,立即数是以常量形式出现的。常量可以是:
(1)二进制数(后缀字母B或b) MOV BL,01000110B (2)十进制数(不用后缀字母,或者用D或d)MOV AL,5 (3)16进制数(后缀字母H或h,以A-F开头则要加 个0) MOV AH,B8H 错 MOV AH,0B8H 正确 (4)字符串(用单或双引号括起的字符,表示对应 的ASCII码值,例如:‘A’=41H) MOV AL, ’A’ (5)标识符表示的符号常量、数值表达式 MOV AX, ’AB’ equ 314 • (符号常量通过汇编伪指令定义) PI
• 寄存器名表示其内容(操作数)
MOV AX, BX; AX←BX
2018/10/11 15
寄存器寻址方式
2018/10/11
Hale Waihona Puke 16说明:• 寄存器寻址方式的操作数存放于CPU的 某个内部寄存器中,不需要访问存储器, 因而执行速度较快,是经常使用的方法。 在双操作数的指令中,操作数之一必是 寄存器寻址得到的。
注意十进制数和BCD数的区别
2018/10/11
MOV AX,
PI+213
14
2
寄存器寻址方式
– 8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL – 16位寄存器r16: AX、BX、CX、DX、SI、DI、BP、SP – 4个段寄存器seg: CS、DS、SS、ES
• 操作数存放在CPU的内部寄存器reg中:
南京理工大学动力学院
2009年
2018/10/11
1
第二章 8086/8088 指令系统
2.1 概述 2.2 寻址方式 2.3 数据传送指令 2.4 算术运算指令 2.5 逻辑运算指令 2.6 串操作指令 2.7 程序控制指令
2018/10/11 2
•指令是微处理器执行某种操作的命令。 •微处理器全部指令的集合称为指令系统(指令集) •指令有两种书写格式:机器指令和符号指令。 机器指令—指令的二进制数描述 硬件只能识别机器指令,用机器指令书写的程序可 直接运行 符号指令—用规定的助记符和规定的书写格式书 写的指令 与机器指令一一对应,需要翻译成机器指令才能运 行 10110000 00000001 MOV AL, 1
2018/10/11
8
8086/8088CPU的寻址方式 (1) 操作数可以存放于操作码之后 MOV AL,3FH —立即数寻址方式 (指令中直接给出)
(2) 操作数可以存放于CPU内部的寄存器中 —寄存器寻址方式 MOV AX,BX (3) 操作数可以存放于存储器中 —存储器寻址方式 MOV AL,[1000H]
2018/10/11 7
2.2 操作数的寻址方式
• 指令系统设计了多种操作数的来源
• 寻找操作数的过程就是操作数的寻址
• 把寻找操作数的方式叫做(操作数)寻址方式 • 理解操作数的寻址方式是理解指令功能的前提 • 操作数采取哪一种寻址方式
–一方面,会影响处理器执行指令的速度和效率 –另一方面,对程序设计也很重要
2018/10/11
3
一、指令的组成 操作码 操作数
指令由操作码和操作数两部分组成 • 操作码说明计算机要执行哪种操作,如传送、运算、 移位、跳转等操作,它是指令中不可缺少的组成部 分
操作数是指令执行的参与者,即各种操作的对象
有些指令不需要操作数,通常的指令都有一个或两 个操作数,也有个别指令有3个甚至4个操作数
汇编语句格式
• 有些指令中隐含了第一操作数,如:MUL CL
2018/10/11 5
三、指令的操作码和操作数
• 每种指令的操作码:
– 用一个助记符表示(指令功能的英文缩写) – 对应着机器指令的一个或多个二进制编码
• 指令中的操作数:
– 可以是一个具体的数值 – 可以是存放数据的寄存器 – 或指明数据在主存位臵的存储器地址