系统指令分析
指令系统分析
一、指令系统概述:
指令系统是指某一种计算机所有指令的集合。
对计算机而言,这是一组二进制数的输入,实际上是一组电平的输入。
这些输入能在一个指令周期内产生人们预先规定的动作。
显然这不是一组随机的二进制数据输入。
指令系统是联系硬件和软件的桥梁。
指令系统对计算机的作用相当于逻辑函数表对逻辑器件(门、触发器、加法器、移位寄存器)的作用。
当然指令系统要比逻辑函数表复杂得多。
一种计算机指令系统设计的好坏,往往标志着该计算机功能的强弱,计算机的设计往往先从设计它的指令系统开始。
二、指令格式:
指令由操作码和操作数两部分组成,操作数可以是要被操作的数据本身(立即数),也可以是数据所在单元的地址或寄存器。
指令格式包括指令长度和指令内部信息的安排等。
一条长指令通常可以分成几段存放和处理,每一段的长度与微处理机的字长相等。
8位微处理机是以8位二进制数(字节)为基础,MCS-51单片机采用变长指令,有单字节、双字节和三字节三种指令格式。
一字节指令(49条)
这类指令的二进制代码既包含了操作码信息,又包含了操作数信息。
有两种情况:
二字节指令(46条)
这类指令的第一字节为操作码,第二字节为操作数或操作数的地址。
三字节指令(16条)
这类指令的第一字节为操作码,后跟两个字节的操作数。
三、寻址方式:
每条指令存数或取数都需要知道如何获得该数据,如何产生操作数或其地址就称作寻址。
指令的寻址方式是指如何获得操作数的方法,一个指令系统的寻址方式越多,计算机的功能越强,灵活性越大。
所以寻址方式的多样性和灵活性是衡量计算机性能的一项重要指标。
MCS-51 单片机有七种寻址方式。
1.寄存器寻址(Register Addressing)
在指令中指出存放操作数的寄存器,因为寄存器在片内RAM中,所以其特点是速度快。
如MOV A,R0,INC DPTR,MUL AB,DEC R7等。
寄存器包括32个工作寄存器(分4组)以及部分专用寄存器。
指令只能使用当前寄存器组的8个通用寄存器R0~R7,对不同寄存器组可以通过PSW 中的RS0,RS1来选择。
2.直接寻址(Direct Addressing)
指令中给出操作数的8位直接地址,可用这种寻址方式的存储空间只限于内
部RAM。
在一般指令中用Direct表示直接地址。
有以下三种情况:3.寄存器间接寻址(Register Indirect Addressing)
用寄存器存放操作数的地址,即用寄存器作为地址指针,但要在寄存器前面加上@以示区别。
可以用作地址指针的间接寄存器只能是R0、R1和DPTR, 在一般指令中分别用@R i和@DPTR 来表示。
这种寻址方式可用于访问片内和片外RAM,不能用于访问SFR。
4.立即寻址(Immediate Addressing)
一般把在指令中直接给出的操作数称为立即数。
在指令操作码的后面紧跟一个和或二个字节的操作数。
但要在立即数的前面加一个# 以与直接地址区别。
在一般指令格式中,立即数用# DATA或#DATA16表示。
5.变址寻址(Index Addressing)
以DPTR 或PC 寄存器作基址寄存器,用累加器A作变址寄存器,以其内容相加形成要访问字节数据的有效地址。
这种寻址方式用于查表指令。
6.相对寻址(Relative Addressing)
相对寻址是将程序计数器PC的当前值与指令中给出的偏移量相加,就形成转移的目标地址。
用于程序的相对转移指令,指令中给出了转移目标地址相对于程序计数器PC的位(偏)移量。
位移量用一字节补码表示。
最大转移地址为
-128~+127,考虑到转移指令长度为2~3 字节。
所以目标地址距离转移指令地址的差为–126 ~+129(两字节)或-125~+130(三字节)。
这里PC的当前值是指执行完该转移指令后的PC中的地址值,即转移指令操作码的PC值加上该转移指令的字节数(可以是2或3)。
7.位寻址(Bit Addressing)
直接对数据位的操作称为位寻址。
位寻址只能对有位地址的单元作位寻址操作。
这种寻址方式实际上是一种直接寻址方式,不过其地址是位地址。
四、指令集计算机:
RISC(Reduced Instruction Set Computer,精简指令集计算机),是和CISC (Complex Instruction Set Computer,复杂指令集计算机)相对的一种CPU架构,它把较长的指令分拆成若干条长度相同的单一指令,可使CPU的工作变得单纯、速度更快,设计和开发也更简单。
这项技术最先诞生于斯坦福大学和加州柏克利分校,1986年,HP公司首先应用RISC技术开发出PA-8000,主频为180MHz,MIPS公司也推出了自己的RISC处理器——R2000;次年,SUN和德州仪器合作开发的Sparc处理器问世。
Sparc处理器凭借出色的性能,迅速占据了UNIX 工作站的市场。
一时间,RISC旋风刮遍整个计算机行业,被认为是以后CPU的主流架构。
SUN公司也就―得陇望蜀‖,打算把Sparc处理器的市场扩大到PC领域。
一方面,SUN把Sparc架构授权给包括德州仪器、富士通、东芝等多家半导体公司,扩大同盟;另一方面,SUN积极游说电脑厂商生产UNIX/Sparc(UNIX操作系统+Sparc 处理器)电脑,希望重现IBM PC所创造过的辉煌。
指令系统的组成
指令系统的组成一、指令系统的概述指令系统是计算机硬件与软件之间的桥梁,用于指导计算机执行任务。
它由一系列指令组成,这些指令是计算机能够理解和执行的基本操作。
指令系统是计算机体系结构的重要组成部分,直接影响计算机的性能和功能。
二、指令的分类指令可以根据其功能和操作类型进行分类。
1. 数据传输指令数据传输指令用于将数据从一个地方传送到另一个地方。
它们可以从内存读取数据到寄存器,也可以将数据从寄存器写入内存。
数据传输指令是计算机中最基本和最常用的指令之一。
2. 算术运算指令算术运算指令用于执行各种数学运算,如加法、减法、乘法和除法。
这些指令可以对寄存器或内存中的数据进行运算,并将结果存储在指定的位置。
3. 逻辑运算指令逻辑运算指令用于执行逻辑运算,如与、或、非和异或。
它们通常用于比较和判断操作,根据运算结果来决定程序的流程。
控制指令用于控制程序的执行流程,如跳转、分支和循环。
它们可以改变程序的执行顺序,使程序能够根据条件进行不同的操作。
5. 输入输出指令输入输出指令用于与外部设备进行数据交换,如键盘、鼠标、显示器和打印机。
它们负责将数据从外部设备读取到内存或将数据从内存输出到外部设备。
三、指令的格式指令通常由操作码和操作数组成。
1. 操作码操作码是指令的基本操作类型,用于指示计算机执行何种操作。
操作码的种类与计算机的指令集有关,不同的计算机体系结构可能有不同的操作码。
2. 操作数操作数是指令所操作的数据。
它可以是一个立即数,也可以是一个寄存器或内存地址。
指令根据操作数的类型和个数来确定操作的对象和结果。
四、指令的执行过程指令的执行过程通常包括指令获取、指令解码和指令执行三个阶段。
指令获取是指从内存中获取指令的过程。
计算机通过程序计数器(PC)来确定下一条要执行的指令的地址,并将该地址发送给内存控制器,从而获取指令的二进制表示。
2. 指令解码指令解码是指将获取的指令解析成可执行的操作。
计算机根据指令的操作码来确定具体的操作类型,并根据操作数的类型和个数来确定操作的对象和结果。
计算机组成原理第4章指令系统课件
4.2 指令的格式
4.2.1 指令的编码格式
操作码OC
AC1
AC2
(1)把保存操作前原来操作数的地址称为源点地址(SS), 把保存指令执行结果的地址称为终点地址或目的地址(DD)。
(2)将源点与终点操作数进行操作码规定的操作后,将 结果存入终点地址。通常二地址指令又称为双操作数指令。
ADD R0,R1表示将R0寄存器的内容和R1寄存器的内容相加以
5 异或XOR
XOR指令对两个操作数进 行按位异或运算。
4.4 指令的种类
4.4.4 移位、循环类指令
CF
位移指令SAL/SHL操作示意图
CF
SAR操作示意图
CF 0
SHR操作示意图
4.4 指令的种类
4.4.4 移位、循环类指令
不带进位标志的循环左移指令ROL MSB 操作数 LSB
CF
不带进位标志的循环右移指令ROR MSB 操作数 LSB
例如:在IBM-PC指令系统中
MOV
AX,05FFH
4.3 寻址方式
4.3.2 常用的寻址方式
2.直接寻址方式
(1)含义: 是指地址字段直接指明操作数在存储器内的位置的寻址 方法。即形式地址等于有效地址。 (2)优缺点: A、优点:简单,不需要进行加法运算。 B、缺点:地址空间指令地址字段长度的限制。
4.2 指令的格式
4.2.3 指令助记符
通常采用一些符号来代表二进制数据,这些符号即指 令助记符。
指令助记符 ADD SUB MUL DIV
助记符示例
含义
指令助记符
相加
AND
相减
OR
相乘
LOAD
相除
STORE
微机原理指令系统讲解
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
3-3指令系统运算指令
增量和减量指令
INC reg/mem
;增量(加1):(reg/mem)←(reg/mem+1)
DEC reg/mem
;减量(减1)(reg/mem)←(reg/mem-1) INC指令和DEC指令是单操作数指令 与加法和减法指令实现的加1和减1不同的是: INC和DEC不影响CF标志 inc si dec byte ptr [si] ;(si)←(si)+1 ;[si]←[si]-1
;ADD指令使目的操作数加上源操作数, 和的结果送到目的操作数
2. 带进位加法指令
ADC dest,src
;加法:(dest)←(dest)+(src)+(CF) ;ADC指令除完成ADD加法运算外,还 要加上进位CF,结果送到目的操作数
加法指令对条件标志位(CF/OF/ZF/SF)的影响: SF=
例:x、y、z均为16位数据,分别存放在地址为X, X+2; Y, Y+2;Z, Z+2的字 节存储单元中,用指令序列实现 w =x+y+24-z ,并用W, W+2单元存放w。 MOV AX, X MOV DX, X+2 ADD AX, Y ADC DX, Y+2 ADD AX, 24 ADC DX, 0 SUB AX, Z SBB DX, Z+2 MOV W, AX MOV W+2, DX
00 11
乘积的高一半是低一半的符号扩展 否
例:(AX) = 16A5H,(BX) = 0611H (1) MUL BX ; (DX, AX) (AX) * (BX) ; 16A5H*0611H=0089 5EF5H ; (DX) = 0089H (AX) = 5EF5H CF=OF=1 ; (AX) (AL) * (BL) ; A5H*11H 5B*11=060B F9F5 ; (AX) = 0F9F5H CF=OF=1
第4章 指令系统
3. 规整性
规整性包括指令系统的对称性,匀齐性,指令 格式和数据格式的一致性.对称性是指:在指 令系统中所有的寄存器和存储器单元都可同等 对待,所有的指令都可使用各种寻址方式.匀 齐性是指:一种操作性质的指令可以支持各种 数据类型.
4.兼容性 兼容性
系列机各机种之间具有相同的基本结构和共 同的基本指令集,因而指令系统是兼容的,即 各机种上基本软件可以通用.但由于不同机种 推出的时间不同,只能做到"向上兼容" .
目前在指令操作码设计上主要采用以下两 种编码方式 1. 固定长度操作码 操作码的长度是固定的,且集中放在 指令字的一个字段中,指令的其余部分全 部用于地址码.例如IBM370机和VAX-11系 列机,操作码的长度均为8位,可表示256 种不同的操作. 2. 可变长度操作码
4.2.2 地址码
地址码用于指定操作数和存放运算结果的地址, 通常称为操作数.操作数可以是一个直接的数或者 是一个数据所在的地址,它以空格与操作码分开.
例如: MOV AX,[SI]
假如用户用高级语言编程,根本不用 考虑寻址方式,因为这是编译程序的事,但 若用汇编语言编程,则应对它有确切的了解, 才能编出正确而又高效的程序.此时应认真 阅读指令系统的说明书,因为不同计算机采 用的寻址方式是不同的,即使是同一种寻址 方式,在不同的计算机中也有不同的表达方 式或含义. 思考:设计指令系统时,数据的寻址方式 越多越好吗?为什么?
4.直接寻址 指令中的形式地址A就是操作数的真实 地址EA,这种寻址方式称为直接寻址方式, 又称为绝对寻址方式.如图5-3所示.
OP 寻址特征 A 主存 A 操作数
图5-3 直接寻址方式
例如: MOV AL,[0080H] MOV AX,[1000H]
系统常用指令
看board上之进阶显示x= Shelf y= Board
listfwd
显示所有跟随之分机
vmail
看4635 voice mail状态
dectinston -u
dectinston –g
dectinston xxx
Dect手机注册(依号码逐一设定) -u = UA手机4074 GB
netadmin –m
Ip设置
t3 Cx c y
显示PRA2 (QSIG&ISDN)状态x= Shelf y= Board
infocs
同步信号synchronisation datas
suproutage
ABC-Link网络联机浏览指令
role -b
显示此CPU目前为(双CPU)主CPU或次CPU
bascul
d=分机x=neqt
outserv n x
outserv d x
inserv n x
inserv d x
关闭硬件位置n =外线x = neqt num
关闭硬件位置d =分机x =分机号码
开放硬件位置n =外线x = neqt num
开放硬件位置d =分机x =分机号码
termstat d x
分机进阶显示(密码’reset) d =分机x 源自分机号码3.2下一页
上一页
不储存&退出back
重复上一次command
系统login后,管理者三分钟后未下任何command,系统不logout
cplstat x y
shutdown –r nowshutdown –h now
系统reset重启reboot
eqstat d x
第三章 指令系统
(1) 三地址双操作
50
指令
数指执令行一条三地址的加法指令需要访问514
下条指令
次主.存。
个 ( 假 单 存A显 设 元 放1号第中地指中在三单)址令,主一取地O,存第存元址次第P指放一的(双中从二令在、1A操2取5操的主第0作第0作含存二0)数一义 的 操号数存指和→为 5 作操令单,的2: 0 数A有作元第303分3号0数中四0别,取次0第指将号三令加单次,法元从第的。2二结1200000次果0从保第第1存一二号操操0到...单作作0主元数数
寄存器/存储器:直接给出寄存器或存储 器的地址码(名称)即可; 注:寄存器(CPU内部或外围设备内部) 及存储器的编址方式: 1)字编址、字节编址、位编址; 2)统一编址、非统一编址
操作数的编码方式
例:设某机主存容量为16MB ,机器 字长16 位,若最小寻址单位为字节 (按字节编址) ,其地址码为多少位? 若最小寻址单位为字(按字编址) ,其 地址码又为多少位?
共需12 条指令,其中7 条一地址的进、出栈指令, 5 条零地址的算术运算指令。进、出栈指令3 次访 存,算逻指令4 次访存,执行此程序共访存7 × 3 + 5 × 4 = 41 次。
例: 某一机器的指令系统,操作码8 位, 地址码均为16 位,CPU 与主存之间每次传 送16 位数据。A 、B 、C 、D 、E 表示字地 址,存放16 位数据。
常用指令寻址方式
顺序寻址方式 跳跃寻址方式:直接、相对、间接
栈及相关概念
1、栈的分类: 用寄存器实现堆栈(串联堆栈) 内存中开辟堆栈区
自底向上生成堆栈 自顶向下生成堆栈 2、栈的建立: 将栈顶地址传送到SP中 3、栈的操作: PUSH/POP、MOV
IA32指令系统
常用三种数控系统编程指令的对比及分析
常用三种数控系统编程指令的对比及分析论文导读:数控加工作为现代制造业先进生产力的代表在航空航天机械电子船舶化工汽车等行业得到广泛应用并逐渐被其它行业广泛使用FANUC数控系统和SINUMERIK数控系统是目前国内最流行的机床控制系统,华中数控系统作为国产数控系统中的代表。
本文作者主要针对国内行业中最常用的BEIJING-FANUC0iMate系统和SINUMERIK840D系统和HNC-21M数控系统在铣削加工中的常用编程指令编程方法的异同作对比分析研究目的是供机床操作编程人员参考与借鉴。
SINUMERIK840D系统也具有类似的功能。
关键词:数控系统,BEIJING-FANUC0iMate,SINUMERIK840D,HNC-21M数控加工作为现代制造业先进生产力的代表在航空航天机械电子船舶化工汽车等行业得到广泛应用并逐渐被其它行业广泛使用FANUC 数控系统和SINUMERIK数控系统是目前国内最流行的机床控制系统, 华中数控系统作为国产数控系统中的代表,正逐步扩大自己在行业内的市场份额。
本文作者主要针对国内行业中最常用的BEIJING-FANUC 0i Mate系统和SINUMERIK 840D 系统和HNC-21M数控系统在铣削加工中的常用编程指令编程方法的异同作对比分析研究目的是供机床操作编程人员参考与借鉴。
1、程序结构的异同数控加工程序段的格式有两种:字地址格式和分隔符格式。
数控加工程序结构的异同数控加工程序有程序开始、若干个程序段、程序结束三部分组成。
每个程序对应一个程序名称(即程序号)。
对于BEIJING-FANUC0i Mate系统,主程序和子程序的程序名规定相同,由地址“O”和后面的4位数字组成如O1234。
子程序与主程序是以“独立”的程序被保存在CNC存储器中。
子程序由“M99”结束,主程序需用指令“M98”调用子程序。
子程序可以嵌套4 级子程序。
而对于SINUMERIK 840D数控系统, 主程序和子程序的程序名规定相同,由任意字母或双字母与数字组合,主程序以.MPF 为后缀子程序建立时用.SPF后缀来定义子程序,其结束语句为“RET”。
指令系统(7讲)
写出34H÷25H的程序段。 的程序段。 例: 写出 ÷ 的程序段
MOV AL,34H , MOV BL,25H , CBW ; AL的符号扩展到 的符号扩展到AH 的符号扩展到 IDIV BL ; 0034H÷25H,结果为 ÷25H,结果为 ; (AH)=0FH, (AL)=01H
18
除法的十进制调正指令AAD (3) 除法的十进制调正指令
5
比较指令CMP (5) 比较指令CMP
格式: 格式: CMP dest, src 操作: (dest)操作: (dest)-(src) CMP也是执行两个操作数相减 也是执行两个操作数相减, CMP也是执行两个操作数相减,但结果不送目标操作 其结果只反映在标志位上。 数,其结果只反映在标志位上。 指令例子: 指令例子: AL, CMP AL,0AH CX, CMP CX,SI DI, CMP DI,[BX+03]
AL,60H AL,60H [BX+20H], [BX+20H],DX AX,CX AX,
1
考虑借位的减法指令SBB (2) 考虑借位的减法指令SBB SBB指令主要用于多字节的减法。 SBB指令主要用于多字节的减法。 指令主要用于多字节的减法 格式: 格式: SBB dest, src 操作: dest←(dest)-(src)操作: dest←(dest)-(src)-(CF)
注:若除数为零或AL中商大于FFH(或AX中商大于 若除数为零或AL中商大于FFH(或AX中商大于 AL中商大于FFH( FFFFH),则CPU产生一个类型0的内部中断。 FFFFH), CPU产生一个类型0的内部中断。 产生一个类型
15
有符号数除法指令IDIV (2) 有符号数除法指令IDIV
计算机组成原理 指令系统
IBM 370机的指令格式
8
4 4
4 4 4 12
RR型 RX型 RS型 SI型 SS型
OP
8
R1 R2 R1 X2
4 4
OP
8
B2
4
D2
12
OP
8
R1 R2
8
B2
4 B1 4
D2
12
OP
8
I2
8
D1
12 4 12
OP
L1
B1
D1
B2
D2
图4-1 IBM 370机的指令格式
2.非规整型
操作码字段的位数丌固定,丏分散地放 在指令字的丌同位置上。 PDP-11机(字长16位)的指令分为单 字长、两字长、三字长三种,操作码字段占4 ~16位丌等,可遍及整个指令长度。 显然,操作码字段的位数和位置丌固定 将增加指令译码和分析的难度,使控制器的设 计复杂化。
入 端口地址 如 出 如 AX, n IN AL, n CPU 的寄存器 OUT n, AL AX CPU 的寄存器 IN AL, DX AX, DX 端口地址 OUT DX, AL AX
4.2 寻址技术
所谓寻址,指的是寻找操作数的地址或下一 条将要执行的指令地址。寻址技术包括编址方 式和寻址方式。
AAA AAS AAM AAD AND OR NOT XOR TEST
3. 移位操作 算术移位
逻辑移位
循环移位(带迚位和丌带迚位)
4. 转移 (1) 无条件转移 JMP
(2) 条件转移 结果为零转 (Z = 1) JZ
如
结果溢出转
(O = 1)JO
300 …
完成触収器
结果有迚位转(C = 1)JC 跳过一条指令 SKP
