《机器指令系统》PPT课件.ppt

上传人:小飞机 文档编号:5584468 上传时间:2023-07-30 格式:PPT 页数:40 大小:282.99KB
返回 下载 相关 举报
《机器指令系统》PPT课件.ppt_第1页
第1页 / 共40页
《机器指令系统》PPT课件.ppt_第2页
第2页 / 共40页
《机器指令系统》PPT课件.ppt_第3页
第3页 / 共40页
《机器指令系统》PPT课件.ppt_第4页
第4页 / 共40页
《机器指令系统》PPT课件.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《《机器指令系统》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《机器指令系统》PPT课件.ppt(40页珍藏版)》请在三一办公上搜索。

1、机器指令系统课件 制作:钱光明,主要内容:11、基本概念;2、指令格式;3、寻址方式;4、相关重要硬件(PC、PSW、及堆栈);5、典型指令系统;,1.基本概念指令:要计算机执行的某种操作命令。指令系统:一般指一台计算机中所有机器指令 的集合。它是机器硬件设计的依据,也是软件设计的基础。是硬件和软件间的界面。系列计算机:ARM,IBM,PDP-11,VAX-11,Intel CISC-复杂指令系统计算机 RISC-精简指令系统计算机注:本章下面谈到的指令均指机器指令.,考研真题*:(2009年)17、下列有关RISC的叙述中,错误的是 A.RISC普遍采用微程序控制器 B.RISC大多数指令在

2、一个时钟周期内完成 C.RISC的内部通用寄存器数量相对CISC多 D.RISC的指令数、寻址方式和指令格式种类相对CISC少.,一个指令系统一般应考虑:1).完备性:指令丰富,功能齐全,使用方便。2).有效性:程序占空间小,执行速度快。3).规整性:对称性,匀齐性,指令格式和数据格式的一 致性。4).兼容性:“向上兼容”-系列机中低档机上运行的软件可以在高档机上运行。,三星S3C2440指令举例:LDR R0,R1,#4;R0(R1)+4 ADD R0,R0,#0 x11;R0(R0)+0 x11 注意重要硬件-寄存器。,麓芯1号指令举例:MOV R0,R1;(R0)R1 000110 10

3、 000 10 001 ADD R0,R1;(R0)+(R1)R1 000111 10 000 10 001注意重要硬件-寄存器。,2.指令格式表示一条指令的机器字,称为指令字,简称指令。它以二进制代码存往指令寄存器(重要硬件)。指令字的组成:操作码(OPCODE)+地址码(Address code)和/或称操作数(OPERAND)指令字的长度:定长 或变长2.1操作码(OP)-操作的性质 1)指令系统中的每条指令都要对应一个操作码;2)OP的位数取决于指令系统的规模;,2.2 地址码(Address code)和/或操作数 1)按地址的数目可分为:三地址指令 OP A1 A2 A3(A1)O

4、P(A2)A3 二地址指令 OP A1 A2(A1)OP(A2)A1 一地址指令 OP A(AC)OP(A)AC 注意重要硬件AC 零地址指令 OP 只有OP,无地址码。如停机,空操作,堆栈指令等。2)从操作数的物理位置分:访问内存 访问寄存器 访问内存和寄存器型,为什么一般少设计三地址指令?,2.3 指令格式举例 1).PDP-11指令格式 单字长格式 10 3 3 寻址方式 寄存器号 4 3 3 3 3 源操作数 目的操作数2).8088/8086指令格式(略),3.寻址方式(Addressing Mode)所谓寻址方式,就是寻找指令或操作数的有效地址 的方式。3.1 指令的寻址方式 1)

5、顺序寻址 程序指令在主存中顺序存放;执行时逐条取出并逐条执行;CPU中必须有一个程序计数器PC(或指令指针IP),每执行一条指令,PC加 1(或2或一个其它固定值),以指出下条指令的地址。注意重要硬件PC。,指令顺序寻址过程:程序(指令)内存:,101,100,PC:,100,:,+1,:,2)跳跃寻址 当程序中出现分支或循环时,就会改变程序的执行顺序。下条指令的地址由指令本身给出。,3.2 操作数的寻址方式形成操作数有效地址的方法。单地址:操作码 特征码 形式地址 双地址:操作码 特征码1 形式地址1 特征码2 形式地址2 机型不同,寻址方式各异.,地址码的构成:X,D,OP,X1,D1,X

6、2,D2,1)立即寻址 地址码字段不是操作数的地址,而是操作数本身。例1:8086机 MOV AX,2038H;2038HAX 例2:PDP-11机 ADD#200,R0;(R0)+200 R0 注意重要硬件:通用寄存器,2)寄存器(直接)寻址(Register Addressing)操作数在CPU的内部寄存器中。例1:8086机 MOV AX,BX;AX(BX)INC AX;AX(AX)+1 例2:PDP-11机 MOV R1,R0;(R1)R0 INC R1;(R1)+1R1,3)(存储器)直接寻址(Direct Addressing)由地址码字段直接给出操作数在内存中的地址。一般形式举例

7、:E=D,编码举例:X=00 立即寻址X=01 寄存器寻址X=10 直接寻址X=11 间接寻址,4).间接寻址(Indirect Addressing),D是操作数地址的地址 E=(D)(存储器)间接寻址举例:,(寄存器)间接寻址举例:PDP-11指令:ADD(R0),R1;(R0)+(R1)R1,5).相对寻址(Relative Addressing),D加(PC)作为操作数的地址.,PC,6).变址寻址(Index Addressing),一个特殊寄存器R,称为变址寄存器.R,OP,X4,200,3000,操作数,R,3200,7).基值寻址(Base Addressing),与变址类似.

8、基值(变址)寻址的主要作用:扩大寻址能力;-基值寻址 实现程序和数据的浮动;-基值寻址 易于用循环程序处理数组问题;-变址寻址 变址与基值寻址的不同之处*:基值寻址:(多由OS提供)基值R提供基准量,指令提供位移量;变址寻址:(多由用户提供)变址R提供修改量,指令提供基准量.,8).复合寻址(Composite Addressing),将间址、相对、变址和基值等组合.变址间址举例:先变址,后间址.,R,考研真题*:(2009年)16、某计算机的字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第一字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1

9、。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功以后的目标地址是A2006H B.2007H C.2008H D.2009H.,4.堆栈及程序状态字PSW,4.1堆栈-存放程序运行轨迹的特殊单元区.一组专门的寄存器.或是一块专门的内存区.特点:后进先出。下面只讲存储器堆栈:用一部分主存空间专作堆栈.优点:a.长度可随意;b.堆栈的数目可随意指定;c.寻址简单-用访内指令.,重要硬件支持:SP(stack pointer)-堆栈指示器(栈指针),CPU中一个专门寄存器.SP的内容是栈顶的单元地址,改变SP的内容即可移动栈顶的位置.注意:主存中某一部分作为堆栈

10、区后,该部分不能作其它用途.,一种堆栈方式:进栈举例:PUSH R;(R)(SP),(SP)-1SP,R,出栈举例:POP R;(SP)+1SP,(SP)R,R,另一种堆栈方式:8086 堆栈指令例:PUSH AX 分两次完成:(SP)1 SP,(AH)(SP);(SP)1 SP,(AL)(SP);POP AX 分两次完成:(SP)AL,(SP)+1 SP;(SP)AH,(SP)+1 SP;,进栈举例:PUSH AX;,108,107,106,108,SP,AX,1234,出栈举例:POP AX;,AX,SP,108,107,106,12,34,106,偶数地址表示举例:,本机型(80X86)

11、SP始终指向“满”单元。,关于堆栈要注意两点:是“向下增长”还是“向上增长”;SP是指向“满”单元还是指向“空”单元。,4.2.程序状态字PSW(Program Status Word)状态条件寄存器(PSW程序状态字):存放机器和程序运行的当前状态.以8086为例:8086 标志寄存器FR(Flag Register)O 溢出 D 方向 I 中断允许 T 追踪 S 符号 Z 零 A 辅助进位 P 奇偶 C 进位,以PDP-11为例:C;产生进位或借位时,C置为1,否则置0;CarryV:运算产生溢出时,V置为1,否则置0;OverflowZ:运算结果为零时,Z置为1,否则置0;ZeroN:运

12、算结果为负时,N置为1,否则置0;NegativeT:跟踪标志位,程序调试时用来设置断点;57位:这3位反映现行程序的优先级别。,5.典型指令系统5.1 8088/80861).数据传送类 取数 MOV AX,TEMP 存数 MOV TEMP,AX 传送 MOV AX,CX2).算术运算类 ADD,ADC,SUB,INC,DEC,MUL,DIV等.求补 NEG,比较 CMP等.3).逻辑运算类 NOT,AND,OR,XOR等.,注意次序是从“右”到“左”,4).移位指令-(下页有例子*)算术移位、逻辑移位(及循环移位)。SHR SAR ROR RCR5).程序控制类 无条件转移 JMP;转子程

13、序 JSR 条件转移 JNZ JNC JZ JC 子程序返回 RET 中断返回 IRET6).输入/输出类 IN AX,n OUT n,AX7).其他类 标志操作:CLC(clear carry flag)STC(set carry flag)CLI(clear interrupt elable flag)HLT,WAIT等,注意PDP-11无IN和OUT指令,移位指令举例*:例1:MOV CL,5;设定移位次数 SAR DI,CL;算术右移设指令执行前:(DS)=0F800H,(DI)=180AH,(0F980A)=0064H.则指令执行后:(0F980A)=0003H,CF=0.例2:MO

14、V CL,2;设定移位次数 SHL SI,CL;逻辑左移设指令执行前:(SI)=1450H.则指令执行后:(SI)=5140H,CF=0.,5.2 PDP-11指令常见英文缩写:BNE:Branch Not Equal BEQ:Branch on Equal BPL:Branch on PlusBMI:Branch on MinusBGT:Branch on Greater BLT:Branch on Less Than ZeroBR:Branch RTS:Return from Subroutine,注意传数次序是从左到“右”,PDP-11程序段举例*R0=%0;0赋值给R0R1=%1R2=%2R3=%3;循环变量=500DATA:WORD A,B,C,D,SSTART:MOV#3,R3MOV#DATA,R0;开始AR1MOV(R0+,R1M:ASL R1;开始第一次A*10MOV R1,R2;R1 R2 ASL R1ASL R1ADD R2,R1;ADD(R0)+,R1;A*10+BDEC R3BNE MMOV R1,(R0);放结果HALTEND START,注意传数次序是从左到“右”,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号