第5章 指令系统(2)
计算机组成原理 复习题及答案
第3章6、二进制左移一位,则数值_a____;二进制右移一位,则数值__b_____。
a)增大一倍b)减小一倍c)增大10倍b)减小10倍7、8位二进制无符号定点整数能表示的数值范围是d ,8位二进制补码定点整数能表示的数值范围是 a 。
a)-128~127 b) –127~127 c)0~127 d) 0~255 e) 0~2568、8位原码能表示的数据个数是 c ;8位补码能表示的数据个数是 d 。
a)127 b)128 c)255 d)256第4章1 DRAM地址分两次输入(行选通RAS、列选通CAS)的目的是_b________。
a)缩短读/写时间b)减少芯片引出端线数c)刷新第5章9 在指令系统中采用 b 寻址方式的指令其长度最短。
a)立即数b)寄存器c)直接d)变址10、一条指令字长16位,存储器按字节编址,在读取一条指令后,PC的值自动加__b____。
a)1 b)2 c)4 d)-111、某计算机存储器按字(16位)编址,每取出一条指令后PC值自动+1,说明其指令长度是___b_____。
a)1个字节b)2个字节c)4个字节第6章7、在取指令操作完成之后,PC中存放的是 c 。
a)当前指令的地址b)下一条实际执行的指令地址c)下一条顺序执行的指令地址PC+1d)对于微程序控制计算机,存放的是该条指令的微程序入口地址。
8、控制存储器用来存放__d_____。
a)机器指令和数据b)微程序和数据c)机器指令和微程序d)微程序第8章3、在大多数磁盘存储器中,以下正确的是_b__。
a)各个磁道的位密度相等b)内圈磁道的位密度较大c)外圈磁道的位密度较大c)磁盘读写信息的最小单位是字节4 大多数情况下,对于磁盘,以下叙述正确的是__d___。
a)依靠磁盘的旋转定位磁道b)依靠磁臂的移动定位扇区c)外圈磁道与内圈磁道的容量不同d)访问磁道的地址用盘面号、磁道号和扇区号来表示。
扇区是最小访问单元。
第5章 指令系统
1.立即寻址方式
寻找的操作数紧跟在指令操作码之后,也就是说 地址码字段存放的不是操作数的地址,而是操作 数本身。 立即寻址方式的特点是:指令执行的时间很短, 因为不需要访问存储器获取操作数,从而节省了 访问存储器的时间;立即寻址方式的使用范围很 有限,主要用于给寄存器赋初值。 【例5-1】 MOV AX,67 指令执行后,(AX)=67。
操作的示意图如下图所示,这条指令的执行结果为 (AX)=3412H。
存储器 操作码 操作码 AX 00H 代码段 位 移 DISP 量
01H 20000H
201A0H 12H 34H
数据段
6.基址变址寻址
操作数的偏移地址是一个基址寄存器(BX、BP) 和一个变址寄存器(SI、DI)的内容之和。基址 变址寻址方式的格式表示为:[基址寄存器名][变 址寄存器名]或[基址寄存器名+变址寄存器名]。操 作数默认位于那个段中,是由指令中使用的基址 寄存器决定的,如果指令中指定的基址寄存器是 BX,则操作数默认在数据段中,取DS寄存器的 值作为操作数的段地址值;如果指令中指定的基 址寄存器是BP,则操作数默认在堆栈段中,取SS 寄存器的值作为操作数的段地址值,从而计算得 操作数的20位物理地址,继而访问到操作数。
每条指令由两部分组成:操作码字段和地
址码字段。格式如图5-1所示:操作码操作 数(地址码)
操作码 操作数(地址码)
图5-1 指令格式
操作码字段:用来说明该指令所要完成的操作。 地址码字段:用来描述该指令的操作对象。一般是直接给 出操作数,或者给出操作数存放的寄存器编号,或者给出操作 数存放的存储单元的地址或有关地址的信息。 根据地址码字段所给出地址的个数,指令格式可分为零地 址、一地址、二地址、三地址、多地址指令。大多数指令需要 双操作数,分别称两个操作数为源操作数和目的操作数,指令 运算结果存入目的操作数的地址中去。这样,目的操作数的原 有数据将被取代。
第5章 指令与指令系统和汇编语言程序设计(2)
运行过程中,可以直接看到屏幕上显示的内容,运行过后,再用D 20F0命令看内存的20F0区域中保存的运行结果,6个大写的英文字母 已经被修改为小写字母: 0061 0062 0063 0064 0065 0066
汇编语言程序设计
1 将寄存器R2和R3的内容相加,结果存入R0。 2 将寄存器R2和R3的内容相加,如果有进位,寄存器R0的内 容置1,否则置0 3 若R1的内容是负数则置R0为-1,否则置0(提示:用TEST) 4 检测R3的是奇数,R0的内容置为1,否则置为0。(提示: 用移位检测C的方法来测量一位) 5 将内存中1000H起始的10个单元的内容取出加2送入原地址。 6 已知内存中1000H起始的10个单元中的数是ASC码,将其取 出送显示。 7 将键盘录入的数存到内存1000H单元中。 8 将键盘录入的10个数存到内存1000H-1009H。
有寄存器寻址,寄存器间接寻址等7种。
从表5.1中可以看出, (A组) INC DR 单操作数(DR的内容加1) (B组) LDRR DR,[SR] 双操作数 (DR [SR])
(4)从指令的功能区分
有运算、读写内存类指令,输入输出指令,转移 指令,子程序调用指令,置进位标志指令等。
从表5.1中可以看出, (A组) ADD DR ,SR 加运算 (B组) LDRR DR,[SR] 读写内存
41 42 43 44 45 46
A 2080
MVRD R3, 0006 ;指定被读数据的个数
MVRD R2, 20F0 ;指定被读、写数据内存区首地址
(2084) LDRR R0, [R2]
;读内存中的一个字符到R0寄存器
CALA 2100 ;调用子程序(入口地址为2100),完成显示、
第5章 指令系统
第五章指令系统操作系统:DOS,WINDOWS,UNIX,......程序设计语言服务程序:KV300,PCTOOLS,...机器语言:汇编语言:高级语言解释执行编译执行PASCAL易教好学FORTRAN 计算C 长于计算控制BASIC易学好记COBOL事务管理应用软件:WORD,EXCEL,ACCESS,DBASE,......二进制,CPU直接执行的指令系统把源程序汇编成机器语言目标程序计算机系统软件5.1 指令系统概述计算机系统中运行的软件有系统软件和应用软件两种。
系统软件对整个计算机系统进行调度、管理、监视、服务,为用户提供使用方便,扩大机器功能,提高机器使用效率。
应用软件是用户针对某种领域实际应用需求而开发的软件。
许多通用商品化的应用软件现已成为系统软件,如Word 等。
前述所有各种软件的设计基础就是计算机的指令系统。
名词解释:指令:命令计算机直接进行某种基本操作的二进制代码串,也叫机器语言代码。
每条指令可以完成一个独立的算术运算或逻辑运算操作。
从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令。
微指令是微程序级的命令,它属于硬件;宏指令是由若干条机器指令组成的软件指令,它属于软件;而机器指令则介于微指令与宏指令之间。
指令系统:一台计算机能直接理解与执行的全部指令的集合称为该机的指令系统,也叫机器语言。
指令系统是进行计算机逻辑设计和编制程序的基本依据。
它直接说明了这台计算机的功能.不同类型CPU的指令系统是不能混用与兼容的,但同一系列的CPU一般升级后指令都有扩充,并可兼容。
复杂指令系统计算机(CISC)和精简指令系统计算机(RISC)5.2指令格式5.2.1 指令的结构指令字:代表指令的一组二进制代码信息;指令长度:指令字中二进制代码的位数;1、典型的指令格式OP A操作码OP——指明操作性质的命令码,提供指令的操作控制信息。
操作对象A——说明操作数存放的地址,有时则就是操作数本身。
DSP课件第五章TMS320LF240x汇编指令系统 共121页
dma
数据存储器地址的低7位,与数据页面指针(DP)构成一个完
整的16位数据存储器地址。
shift
左移0~15位。
ARn
n为0~7, ARn指定下次的辅助寄存器。
Ind
选择*、*+、*-、*0+、*0-、*BR0+、*BR0- 7中符号之一。
# 一
立即寻址方式中常用的前缀。数值前面带“#”,表示该数值为
AND ind [,ARn] AND #lk [,shift] AND #lk ,16 功能:如果使用直接或间接寻址,累加器的低16位和被寻址的数据存储器 单元的内容进行逻辑与操作,结果送累加器的低16位,累加器的高16位 清0。如果使用长立即数寻址,则16位长立即数左移0~16位后和32位的 累加器相与,结果送累加器。 操作:①(PC)+1→PC; ②(ACC(15~0) ) AND (数据存储器地址)→ ACC(15~0);
双字操作码的第2个字。包含16位常数。根据指令不同该
常数可能是长立即数、程序存储器地址、I/O端口或I/O映
射的寄存器地址。
4.2 指令句法描述
4.2.1语法
指令助记符 指令助记符 dma [,shift] 指令助记符 dma,16 指令助记符 ind[,shift[,ARn]] 指令助记符 ind,16[,ARn] 指令助记符 #k 指令助记符 #lk[,shift]
储器地址(pma),只要有一个条件不满足就顺序执行下面的指令。 操作: 如果cond1,cond2,…均满足,则pma→PC,否则PC+2→PC。 注意: 有些条件是不能组合在一起使用的。 例20: BCND PGM191,LEQ,C
13、测试指令BIT
第 5 章 指令系统
2013-11-23
25
• 一地址指令长度短,指令执行速度快 (若A为存储器地址,只需一次访存取 数),对于字长较短的微、小型机,是 一种常用的指令格式。
2013-11-23
26
5.零地址指令
• 零地址指令中只有操作码而无地址码,其指令 格式为; OP
• 零地址指令有两种情况: • ① 不需操作数的控制型指令,如HALT、WAIT、 NOP等。 • ② 运算型零地址指令:操作数隐含在堆栈中。
2013-11-23 15
• 三地址指令格式:
OP A1 A2 A3
• • • • •
A1:第一源操作数的存储器地址或寄存器地址; A2:第二源操作数的存储器地址或寄存器地址; A3:存放操作结果的存储器地址或寄存器地址; 三地址指令功能为: (A1)OP(A2)→A3; PC 指示下条指令地址
2013-11-23
2013-11-23 29
2) 变长编码
• 变长编码的指令操作码:不同指令的操作码长度 不完全相同,操作码的位数不固定,分散地放在 指令字的不同位置上。 • 变长编码操作码的特点: • 可用较短的指令字长表示更多的操作类型,寻址 较大的存储空间。 • 操作码的位数不固定,且位置分散,增加了指令 译码与分析的难度,使硬件设计复杂化。 • 在早期的微、小型机中,由于指令字较短,均采 用变长编码的指令操作码。如Intel 8086、PDP一 11等机器。
2013-11-23 32
0000 xxxx xxxx xxxx 15条三地址指令 1110 xxxx xxxx xxxx 1111 0000 xxxx xxxx 15条二地址指令 1111 1110 xxxx xxxx 1111 1111 0000 xxxx 15条单地址指令 1111 1111 1110 xxxx 1111 1111 1111 0000 16条零地址指令 1111 1111 1111 1111 2013-11-23 33
第五章指令系统
教学内容安排•第一章绪论•第二章数码系统•第三章运算方法和运算器•第四章存储系统•第五章指令系统•第六章中央处理器•第七章输入输出设备•第八章输入输出系统第五章指令系统5.1 基本概念5.2 指令格式5.3 寻址方式5.4 指令的种类5.5 指令系统的发展教学重点和难点•寻址方式第五章指令系统 5.1 基本概念•指令(Instruction):计算机的硬件(CPU)设计好以后它能直接识别并执行的基本操作。
•指令系统(Instruction Set)或指令集:某个CPU能够直接识别并执行的所有指令的集合。
•指令字长:指令的二进制代码的位数。
注意:指令系统均针对特定的CPU而言,不同的CPU它们的指令系统可能不相同或不完全相同。
第五章指令系统5.1 基本概念5.2 指令格式5.3 寻址方式5.4 指令的种类5.5 指令系统的发展教学重点和难点•寻址方式第五章指令系统 5.2 指令格式任何一条机器指令是机器语言的一个语句,它由一组二进制代码构成。
包括两部分:•操作码•地址码第五章指令系统 5.2 指令格式根据地址码所给出的地址的个数,可以把指令分为零地址指令,一地址指令,二地址指令,三地址指令,和多地址指令。
第五章指令系统 5.2 指令格式指令字长与机器字长•指令的长度取决于操作码的长度和地址码的长度。
任何一条指令构成一个指令字。
•一个指令字中所包含的二进制数码的位数称为指令字长度。
•机器字长是指计算机的运算部件一次能直接处理的二进制数据的位数。
•指令长度与机器字长没有固定的关系,指令长度可以小于或大于机器的字长。
如单字长,半字长,双字长甚至4字长指令都是可取的。
•例如Intel8086的机器字长是16位,而指令字长最短的有8位,最长的有48位。
第五章指令系统 5.2 指令格式8086 微处理器的存储器管理•Intel 8086是字长16位的处理器,地址线20根,按字节编址,最大存储容量为1MB。
地址范围是00000H-FFFFFH。
PLC编程与应用第2版习题答案第5章 指令系统
第五章指令系统
1、S7-1200提供了哪些类型的定时器?
2、编写程序来记录一台设备的运行时间,其设计要求为:当输入I0.0为高电平,设备运行,当I0.0为低电平时,设备不工作。
3、编写程序实现以下控制功能:第一次扫描时将VB0清零,用定时中断0,每100ms将VB0加1,VB0=100时关闭定时中断,并将Q0.0立即置1,设计主程序和中断程序。
4、设计一个8位彩灯控制程序,要求彩灯的移动速度和移动方向可调。
6、将8个16位二进制数存放在VW10开始的存储区内,在I0.3的上升沿,用循环指令求它们的平均值,并将结果存放在VW0中。
7、设计一个圆周长的计算程序,将半径存放在VW10中,取圆周率为3.1416,用浮点数运算指令计算圆周长,运算结果四舍五入后,转换为整数,存放在VW20中。
8、S7-1200包括哪些中断指令?。
5第五章 应用指令及高功能指令简介
CP1H机型梯形图
CPM1A机型梯形图
2. MOVB和XFRB指令 和 指令
MOVB根据控制字C的控制,传送指定通道所指定的多个位到目的通道
例
XFRB指令是传送指定通道所指定的多个位 到目的通道
n: 传送位数
m:目的通道开始位 I:源通道开始位
例
3. MOVD和XFER指令 和 指令
例:使用一个按钮,接入0.00端,灯H1、H2、H3分别接入输
出端10.00、10.01、10.02。要求第一次按按钮,灯H1 亮, 再按一次按钮,灯H1、H2同时亮,第三次按按钮,三个灯 都亮,再按一次按钮,灯全灭,依次循环。
2. SFTR指令 指令
左右移位SFTR指令能将数据从低位移向高位,或反向移动。
第二节 数据传送指令
数据传送有: 数据传送有:
传送MOV 倍长传送MOVL 取反传送MVN 倍长取反传送MVNL 位传送MOVB 多位传送XFRB 数字传送MOVD 块传送XFER等。
上述指令在CPM1A和CP1H中基本一致。 上述指令在CPM1A和CP1H中基本一致。 CPM1A 中基本一致
1. MOV、MOVL和MVN、MVNL指令 、 和 、 指令
结果标志 符号地址 实际地址 实际地址 备注 CP1H CPM1A
> P_GT CF005 255.05
= P_EQ CF006, 255.06
< P_LT CF007 255.07
>= P_GE Cபைடு நூலகம்000
<> P_NE CF001
<= P_LE CF002
的数据大于5且小于 例: D1的数据大于 且小于 时,100.00有输出 的数据大于 且小于20时 有输出
计算机组成原理第五章指令系统(含答案)
第五章指令系统5.1 指令系统概述及指令格式随堂测验1、下列关于指令(机器指令)的描述中,正确的是()(多选)A、是计算机系统中硬件与软件之间的接口B、是程序员操作计算机硬件的接口C、是冯诺依曼结构计算机实现“程序控制”原理的载体D、是指挥计算机指令特定操作的命令2、下列关于指令的描述中,正确的是()(多选)A、指令的操作码定义了指令的功能B、指令的地址码字段是不可缺少的C、单地址指令只能处理一个数据D、指令的地址码字段可以表示一个地址,也可以表示一个数据3、下列关于指令格式的描述中,正确的是()(多选)A、对采用定长操作码的计算机而言,若需要支持65条指令,则其操作码字段最少需要7位B、若指令中每个地址字段位均为4位,则对RR型指令而言,可以使用16个寄存器C、指令字长确定的情况下,指令的地址字段越多,则其位数就越少D、计算机硬件是影响指令格式设计的因素之一5.2 寻址方式及指令寻址随堂测验1、直接寻址的无条件转移指令执行的效果是将将指令地址送入()(单选)A、程序计数器PCB、地址寄存器MARC、数据缓冲寄存器MDRD、偏移地址累加器2、下列关于寻址方式的描述中,正确的是()(多选)A、包括指令寻址方式和数据的寻址方式B、形成指令和数据所在虚拟存储器地址的方法C、形成指令和数据所在主存地址的方法D、形成指令和数据在Cache地址的方法3、下列关于指令寻址方式的描述中,正确的是()(多选)A、指令的有效地址通过指令中形式地址字段给出B、程序中有条件和无条件转移采用的就是跳跃寻址C、指令的不同寻址方式需要通过寻址方式特征位来标识D、顺序结构中CPU依次访问不同指令采用的就是顺序寻址4、某计算机字长64位,采用单字长指令,下列描述中,正确的是()(多选)A、指令字长为64位B、指令字长为16位C、顺序寻址时,PC <- (PC) + 1D、顺序寻址时,PC <- (PC) + 85.3 操作数寻址方式随堂测验1、在数据寻址方式中,获取操作数最快的寻址方式是( ) ( 单选)A、寄存器寻址B、立即数寻址C、直接寻址D、间接寻址2、若指令的形式地址中给出的是操作数的有效地址, 该指令采用的寻址方式是( ) ( 单选)A、直接寻址B、立即数寻址C、寄存器寻址D、变址寻址3、假定计算机字长64位,采用单字长指令, 某指令采用间接寻址,则取操作数至少需要访问主存的次数为( ) (单选)A、1B、2C、3D、44、相对寻址方式中,指令所提供的相对地址是( ) (单选)A、本条指令在内存中的首地址为基准位置的偏移量B、本条指令的下条指令在内存中的首地址为基准位置的偏移量C、本条指令的上条指令在内存中的首地址为基准位置的偏移量D、本指令操作数的直接有效地址5、下列关于操作数的寻址方式的描述中,正确的是()(多选)A、直接寻址方式下,地址字段的位数影响数据的寻址范围B、间接寻址方式下,地址字段的位数影响数据的寻址范围C、立即数寻址方式下,地址字段的位数影响立即数的大小D、寄存器寻址方式下,地址字段的位数影响立即数的大小5.4 指令格式设计随堂测验1、采用将操作码字段扩展到没有使用的地址码字段的指令格式设计方案的主要目的是()(单选)A、减少指令长度B、充分利用地址字段,提高指令效率C、保持指令长度不变,增加指令数量。
第五章 PLC基本指令系统----计数器+典型案例
1L
Q0.0 Q0.1
Q0.2
Q0.3
S7200 CPU 222
1M
I0.0
I0.1
M L+
DC 24V
停止按钮SB1 启动按钮SB2
脉冲的上升沿(由0到1)信号时,计数器的当前值减1。当计数器当前值等于或大于设定值 (PV)时,该计数器位被置1。当复位输入端(R)有效或用复位指令(R)对计数器执行复 位操作时,计数器被复位,即计数器位为0,且当前值清零。
《第5章 PLC基本指令系统》
五、S7-200 PLC的基本指令
11. 计数器指令
《第5章 PLC基本指令系统》
六、典型控制环节的PLC程序设计 2、大功率电动机的星-三角减压起动控制程序
输入信号
停止按 I0.0 钮SB1
起动按 I0.1 钮SB2
输出信号 接触器 Q 0.1 KM1
接触器 Q 0.2 KM2
接触器 Q 0.3 KM3
FR
KM1
KM2
KM3
~
KM3
KM2
1L
Q0.0 Q0.1
《第5章 PLC基本指令系统》
五、S7-200 PLC的基本指令
12. 比较指令
比较指令是将两个数值或字符串按指定条件进行比较,比较条件成立时,比较触点就闭合。 所以比较指令实际上也是一种位指令。
类型: 按两个操作数的数据类型分:字节比较、整数比较、双字整数比较和实数比较。 比较指令的运算符有6种: ==(等于)、>(大于)、>=(大于等于)、<(小于)、<=(小于等于) 和 <>(不等于)。
C21当前值 0
C21位
//计数值为0时接通Q0.0
第5章 指令系统
南京理工大学紫金学院计算机系 陈琳琳
3)间接寻址 )
指令字地址码部分给出的是操作数地址的地址 指 指令字地址码部分给出的是操作数地址的地址/指 操作数地址的地址 示操作数地址的地址指示字。 示操作数地址的地址指示字。
操作码 OPMOV 寻址方式 形式地址 AX, , 间接寻址 @1000H A 主存 A
10)其他寻址方式 ) 扩展寻址、页面寻址、堆栈寻址、相联寻址等。 扩展寻址、页面寻址、堆栈寻址、相联寻址等。
A1、A2均为寄存器地址的
寄存器-存储器型( 寄存器 存储器型(R-S型)指令 一个半地址指令 存储器型 型 指令/一个半地址指令
A1、A2中一个是寄存器地址,另一个是存储器地址 中一个是寄存器地址,
南京理工大学紫金学院计算机系 陈琳琳
一地址指令/ ④ 一地址指令/单地址指令
AC
OP OP A1
第一源操作 数的地址
南京理工大学紫金学院计算机系 陈琳琳
9)基址加变址寻址 )
指令字中的地址码部分所指定的基址寄存器的内 指令字中的地址码部分所指定的基址寄存器的内 变址寄存器的内容及指令字中的 指令字中的形式地址相 容、变址寄存器的内容及指令字中的形式地址相 形成操作数的有效地址。 加形成操作数的有效地址。
MOV AX, [BX+DI+100H] EA = (BX) +(DI) +100H
2. 操作数的寻址方式
形式地址——指令中给定的地址 指令中给定的地址 形式地址 有效地址EA——操作数在主存中的实际地址 操作数在主存中的实际地址 有效地址 操作数在 1)立即寻址——给寄存器 存储器单元赋值 )立即寻址 给寄存器/存储器单元赋值 给寄存器
指令所需的操作数在指令字的地址码部分直接给出 操作码 OP MOV 寻址方式 形式地址 AX, , 立即寻址 2000H D 取指令的同时取操作数, 取指令的同时取操作数,速度快 D的位数限制了数据范围 的位数限制了数据范围
计算机组成与体系结构
PUSH、POP指令 隐含寻址 管理堆栈:三个地址寄存器
堆栈指针(Stack Pointer) 堆栈基址(Stack Base) 堆栈界限(Stack Limit) 堆栈的典型应用: 表达式的解析 程序的递归嵌套 ……
操作数地址字段的位数决定了内存的规模 指令格式设计准则之一:在满足操作种类、寻址范 围和寻址方式的前提下,指令尽可能短。这是指令 功能完备性与有效性的统一。
指令长度=操作码的长度 +操作数地址的长度操作数地址个数
指令格式设计准则之二:指令长度为字节的整数倍。 指令的长度与机器的字长没有固定的关系
23
5.2 数据存储与寻址方式 5.2.2 寻址方式
寻址方式: 隐含寻址 立即寻址 直接寻址 间接寻址 寄存器寻址、寄存器间接寻址 相对寻址 基址寻址 变址寻址
指令系统所面临的主存空间: 逻辑空间 物理空间
24
5.2 数据存储与寻址方式 5.2.2 寻址方式
主存空间
A程序的逻辑地址空间
图5.8 Pentium寻址方式
SS 选择子 GS 选择子
FS 选择子 ES 选择子 DS 选择子 CS 选择子
+
×
有效地址
基地址寄存器 变址寄存器
堆栈(Stack):后入先出,Last In First Out
TOP
A
B
C
D
E
TOP
F
A
B
C
D
E
TOP A B C D E
TOP A*B C
D E
X BOTTOM
开始
X BOTTOM
PUSH
X BOTTOM
计算机组成原理第5章
高级语言与计算机的硬件结构及指令系 统无关,在编写程序方面比汇编语言优越。 但是高级语言程序“看不见”机器的硬件结 构,不能用于编写直接访问机器硬件资源的 系统软件或设备控制软件。为此,一些高级 语言提供了与汇编语言之间的调用接口。用 汇编语言编写的程序,可作为高级语言的一 个外部过程或函数,利用堆栈来传递参数或 参数的地址。
字节数 0或1 指令 前缀 0或1 0或1 操作数 地址 段取代 长度取代 长度取代 0或1
(a) 前 缀
字节数 操作码 Mod 位数 2 0或1 Reg或 操作码 3 0或1 基址 比例 R/M S 变址I B 3 3 3 0、1、2、4 偏移量 0、1、2、4 立即数
(b) 指 令
指令的前缀是可选项,其作用是对其后的指令 本身进行显示约定。每个前缀占1个字节。 指令前缀:包括LOCK(锁定)前缀和重复前缀。 LOCK前缀用于多CPU环境中对共享存储器的排他 性访问。 重复前缀用于字符串的重复操作,以获得比软件循 环方法更快的速度。 段取代前缀:根据指令的定义和程序的上下文,一 条指令所使用的段寄存器名称可以不出现在指令格 式中,这称为段缺省规则。当要求一条指令不按缺 省规则使用某个段寄存器时,必须以段取代前缀明 确指明此段寄存器。
操 作 码
OP
2.单地址指令
单地址指令指的就是只有一个地址码的指令,也 称为单操作数指令。这种指令利用硬件来隐含地 提供另一个操作数和结果数的地址,如累加寄存 器(Accumulator,简称AC)。 Accumulator AC
操作码 地址码
OP
X
3.二地址指令
二地址指令有两个地址码字段X和Y,分别指明 参与操作的两个数在内存或运算器中通用寄存器 的地址,其中地址Y兼作存放操作结果的地址。
第5章 指令系统习题
第5章指令系统〔习题5.1〕简答题(1)定长指令字和定长操作码是一回事吗?(2)什么是Load-Store指令集结构?(3)为什么将查找操作数的方法称为数据寻“址”方式?(4)是什么特点决定了目标地址的相对寻址方式应用最多?(5)堆栈的存取原则是什么?(6)IA-32处理器的INC,DEC,NEG和NOT都是单操作数指令,这个操作数应该是源操作数还是目的操作数?(7)IA-32处理器的乘除法运算针对无符号数和有符号数,有两种不同的指令。
只有一种指令的加减法如何区别无符号数和有符号数运算?(8)为什么判断无符号数大小和有符号大小的条件转移指令不同?(9)汇编语言的标识符大小写不敏感意味着什么?(10)为什么说RISC是计算机结构上的革新?〔习题5.2〕判断题(1)存储器寻址方式的操作数当然在主存了。
(2)堆栈的操作原则是“先进后出”,压入数据是PUSH指令、弹出数据是POP指令。
(3)空操作NOP指令其实根本没有指令。
(4)指令指针或者还包括代码段寄存器值的改变将引起程序流程的改变。
(5)JMP指令对应高级语言的GOTO语句,所以不应使用。
(6)IA-32处理器的条件转移指令Jcc要利用标志作为条件。
(7)处理器的传送指令MOV属于汇编语言的执行性语句。
(8)MASM汇编语言的注释用分号开始,但不能用中文分号。
(9)通常,RISC处理器只有“取数LOAD”和“存数STORE”指令访问存储器。
(10)RISC的指令条数少、指令简单、格式固定,所以编译程序也就容易实现,并且不需要优化。
〔习题5.3〕填空题(1)JMP指令根据目标地址的转移范围和寻址方式,可以分成四种类型:段内转移、__________,段内转移、__________和段间转移、__________,段间转移、__________。
(2)IA-32处理器将ESI寄存器内容压入堆栈的指令是__________,将堆栈顶部数据弹出到EDI寄存器的指令是__________。
05 指令系统
复位定时器指令
青岛大学-西门子先进自动化技术联合实验室
23
第 5章
STEP 7中的S5计数器
STEP 7中的计数器有三类:加计数器CTU, 减计数器CTD和加减计数器CTUD。
青岛大学-西门子先进自动化技术联合实验室
24
第 5章
加计数器及其时序图
青岛大学-西门子先进自动化技术联合实验室 25
第 5章
47
第 5章
点对点指令
青岛大学-西门子先进自动化技术联合实验室
48
第 5章
点对点指令
青岛大学-西门子先进自动化技术联合实验室
49
第 5章
中断指令
附加和分离指令
青岛大学-西门子先进自动化技术联合实验室
50
第 5章
启动和取消延时中断指令
青岛大学-西门子先进自动化技术联合实验室
51
第 5章
禁用和启用报警中断指令
37
第 5章
字逻辑运算指令
青岛大学-西门子先进自动化技术联合实验室
38
第 5章
移位和循环指令
青岛大学-西门子先进自动化技术联合实验室
39
第 5章
[例] 通过循环指令实现彩灯控制。 编写程序如图5-30所示,其中I0.0为控制开关, M1.5为周期为1s的时钟存储器位,实现的功能为当 按下I0.0,QD4中为1的输出位每秒钟向左移动1位。 第1段程序的功能是赋初值,即将QD4中的Q7.0置 位,第2段程序的功能是每秒钟QD4循环左移一位。
青岛大学-西门子先进自动化技术联合实验室
15
第 5章
青岛大学-西门子先进自动化技术联合实验室
16
第 5章
青岛大学-西门子先进自动化技术联合实验室
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、RISC计算机 、 计算机
RISC:精简指令系统(集)计算机 (reduced :精简指令系统 集 计算机 instruction set computer)的缩写。 的缩写。 的缩写 RISC 计算机: 计算机:
公司 产品 IBM Power PC DEC Alpha HP HPPA MIPS SUN R10000 SPARC
M[(B1)+D1]<-(M[(B1)+D1])OP(M[(B2)+D2])
PDP-11指令格式 指令格式
16位小型机,采用变长指令格式; 位小型机,采用变长指令格式; 位小型机 CPU内部有 个16位通用寄存器,其中 个作为 , 内部有8个 位通用寄存器 其中1个作为 位通用寄存器, 个作为PC, 内部有 1个作为 ; 个作为SP; 个作为 提供13种指令格式 种指令格式。 提供 种指令格式。
0
2、SETHI 和Branch 指令
OP OP
31
a
rd Cond.
OP2 OP2
25 24 22 21
imm(22bits) Disp(22bits)
0
30 29 28
SPARC指令格式 指令格式
3、其他指令 OP OP OP
31 30 29
rd rd rd
OP3 OP3 OP3
25 24 19 18
寻址方式举例 (以Intel 80x86指令系统为例 指令系统为例) 以 指令系统为例
立即(数 寻址 寻址: MOV AX,1234H 立即 数)寻址: 直接寻址: MOV AX,[1000H] 直接寻址: 间接寻址: INT 21H; MOV AX,[BX] 间接寻址: ; 寄存器寻址: MOV AX,BX 寄存器寻址: 寄存器间接寻址: 寄存器间接寻址: MOV AX,[BX] 偏移寻址:有3种,见下页 偏移寻址: 种 (相对寻址 JE AAA;JZ AAA;JC AAA 相对寻址) 相对寻址 ; ; (寄存器相对寻址 MOV AX,[SI+06H] 寄存器相对寻址) 寄存器相对寻址 (基址变址寻址 MOV AX,[BX+SI] 基址变址寻址) 基址变址寻址 堆栈寻址: 堆栈寻址: PUSH AX;POP AX ;
IBM大型机的指令格式 大型机的指令格式
IBM 360/370指令格式:(有5种指令格式) 指令格式:( 种指令格式) 指令格式:(有 种指令格式
RR: OP R1 R2 : RX: OP R1 X2 B2 : RS: OP R1 R3 B2 : SI: OP imm B1 : SS: OP Length B1 : D2 D2 D1 D1 R1<-(R1)OP(R2) R1<-(R1)OP(M[(X2)+(B2)+D2]) R1<-(R3)OP(M[(B2)+D2]) M[(B1)+D1]<- imm B2 D2
BR=基址寄存器 基址寄存器 IR=变址寄存器 变址寄存器 L/CR=链接或 链接或 计数寄存器 GPR=通用寄存器 通用寄存器 FPR=浮点寄存器 浮点寄存器 D=偏移量 偏移量 I=立即数 立即数
指令格式
指令长度: 通常)以字节为单位。 指令长度: (通常)以字节为单位。 位的分配: 位的分配:
寻址方式数目 操作数数目 寄存器组的数目 地址范围 地址粒度
SPARC指令格式 指令格式
SPARC指令字长 位,有3种指令格式,6种指令 指令字长32位 种指令格式, 种指令 指令字长 种指令格式 类型。 类型。
3种指令格式: 种指令格式
1、CALL指令 指令
OP
31 30 29
Disp(30bits)
4
操作码
6 3
R
6 6
源
源 目标
源和目标:每个都有 位寻址方 源和目标:每个都有3位寻址方 式和3位寄存器号 位寄存器号。 式和 位寄存器号。
7
操作码
8
操作码
8
位移量
8 13
2
6 3
R
10
操作码
6
目标
12
操作码
4
Байду номын сангаасCC
操作码 FP 目标
16
操作码
操作码
4 8 4
6 2 6
6 6 6
16 16 16
7
E=(rs1)+(rs2) ;i=0 ( E= (rs1)+Simm14; i=1
某些指令的实现技巧
SPARC约定 的内容恒为 。 约定R0的内容恒为 约定 的内容恒为0。 指令
move inc dec neg not
功能
寄存器间传送数据 寄存器内容+1 寄存器内容 寄存器内容-1 寄存器内容 取负数 取反码
EA=A+(R) ( ) R<=(R)+1
返回
RISC和CISC计算机 和 计算机
1、CISC计算机 、 计算机
CISC:复杂指令系统(集)计算机 (complex :复杂指令系统 集 计算机 instruction set computer)的缩写。 的缩写
DEC公司的 公司的VAX11/780计算机、Intel公司的 计算机、 公司的80x86微处 公司的 计算机 公司的 微处 理器、 公司的大、 理器、IBM公司的大、中型计算机都是 公司的大 中型计算机都是CISC。 。
SPARC指令类型 指令类型
算术运算/逻辑运算 移位运算指令 算术运算 逻辑运算/移位运算指令:31条 逻辑运算 移位运算指令: 条 LOAD/STORE指令:22条 指令: 条 指令 控制指令: 条 控制指令:5条 写专用寄存器指令: 条 读/写专用寄存器指令:8条 写专用寄存器指令 浮点运算指令+协处理器指令 浮点运算指令 协处理器指令
操作数=A 操作数 LA=R LA=(SR)+A ( ) LA=(SR)+(B) ( ) ( ) LA=(SR)+(B)+A ( ) ( ) LA=(SR)+(I)*S+A ( ) () LA=(SR)+(B)+(I)+A ( ) ( ) () LA=(SR)+(B)+(I)*S+A ( ) ( ) () LA=(PC)+A ( )
偏移寻址
Displacement addressing: :
相对寻址( 相对寻址(relative addressing)
PC +偏移量;相对转移类指令 偏移量; 偏移量
基址寄存器寻址(base-register addressing) 基址寄存器寻址
基址寄存器值+偏移量 基址寄存器值 偏移量
变址(indexing) 变址
SPARC指令的寻址方式举例 指令的寻址方式举例
算术逻辑运算: 算术逻辑运算:
(rs1)OP(rs2)->rd (i=0) (rs1)OP Simm13->rd (i=1)
LOAD/STORE指令 指令
LOAD把存储器中的数据送 中; 把存储器中的数据送rd中 把存储器中的数据送 STORE把rd中的内容送存储器中。 中的内容送存储器中。 把 中的内容送存储器中 存储器的地址计算: 存储器的地址计算:
操作码
3
R
6
源
16
存储器地址
操作码 源 目标 存储器地址
10
操作码
6
16
操作码 FP 目标 存储器地址
目标 存储器地址
16
存储器地址1 存储器地址2 操作码 源 目标 存储器地址 存储器地址
向量指令举例
向量指令:完成向量运算的指令。例如: 向量指令:完成向量运算的指令。例如:
A=B+C Cyber-205机器的向量指令格式: 机器的向量指令格式: 机器的向量指令格式
Pentium中的寻址方式分析 中的寻址方式分析
PowerPC的寻址方式 的寻址方式
方式 间接 间接变址 绝对 相对 间接 寄存器 立即 寄存器 算法 装入/存储寻址 装入 存储寻址 EA=(BR)+D ( ) EA=(BR)+(IR) ( ) ( ) 转移寻址 EA=I EA=(PC)+I ( ) EA=(L/CR) ( ) 定点计算 EA=GPR 操作数=I 操作数 浮点计算 EA=FPR
RISC的特点 的特点
计算机执行程序所需要的时间P: 计算机执行程序所需要的时间 :
P=I*CPI*T * * 其中: 为指令的数目 机器指令); 为指令的数目( );CPI为每条指令执行所需要 其中:I为指令的数目(机器指令); 为每条指令执行所需要 的平均周期数, 为每个机器周期时间 为每个机器周期时间。 的平均周期数,T为每个机器周期时间。
替代 指令
实现方法
ADD ADD SUB SUB XOR
clear 清除寄存器内容 Cmp,test 比较测试
(rs)+(r0)->rd (rs)+1->rd (imm13=1) (rs)-1->rd(imm13=-1) r0-rs->rd rs xor 11..1 ->rd (imm13=-1) ADD r0+r0->rd SUB (rs1)-(rs2)->r0
Pentium的寻址方式 的
LA=线性地址 线性地址 A=指令中地址字段的内容 指令中地址字段的内容 I=变址寄存器 变址寄存器 方式 立即 寄存器 偏移 基址 基址带偏移量 比例变址带偏移 基址带变址和偏移量 基址带比例变址和偏移量 相对 (X)=X的内容 ) 的内容 R=寄存器 寄存器 S=比例因子 比例因子 SR=段寄存器 段寄存器 B=基址寄存器 基址寄存器 PC=程序计数器 程序计数器 算法