当前位置:文档之家› 组成原理模型机及其指令系统

组成原理模型机及其指令系统

计算机组成原理
模型机及其指令系统
班级:计科13-3
学号:1306010307
姓名:雷涵
成绩:
电子与信息工程学院
计算机科学系
模型机及其指令系统
指令系统是指计算机所能执行的全部指令的集合,它描述了计算机内全部的控制信息和“逻辑判断”能力。

不同计算机的指令系统包含的指令种类和数目也不同。

一般均包含算术运算型、逻辑运算型、数据传送型、判定和控制型、移位操作型、位(位串)操作型、输入和输出型等指令。

指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。

一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如:操作码字段+地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。

其基本指令如下:
数据传送指令
MOV DST, SRC 为双操作数指令,两个操作数中必须有一个是寄存器.
目的数可以是通用寄存器, 存储单元和段寄存器(但不允许用CS段寄存器).
2.立即数不能直接送段寄存器
不允许在两个存储单元直接传送数据
不允许在两个段寄存器间直接传送信息
PUSH SRC 堆栈操作是以"后进先出"的方式进行数据操作.入栈的操作数除不允许用立即数外,可以为通用寄存器,段寄存器(全部)
和存储器. 入栈时高位字节先入栈,低位字节后入栈.
POP DST 出栈操作数除不允许用立即数和CS段寄存器外, 可以
为通用寄存器,段寄存器和存储器. 执行POP SS指令后,堆栈区在存
储区的位置要改变. 执行POP SP 指令后,栈顶的位置要改变.
XCHG OPR1, OPR2 执行操作: Tmp=OPR1 OPR1=OPR2 OPR2=Tmp 1.
必须有一个操作数是在寄存器中 2.不能与段寄存器交换数据 3.存
储器与存储器之间不能交换数据.
XLAT (OPR 可选) 换码指令: 把一种代码转换为另一种代码. 执行操作: AL=(BX+AL) 指令执行时只使用预先已存入BX中的表格
首地址,执行后,AL中内容则是所要转换的代码.
LEA REG, SRC 指令把源操作数SRC的有效地址送到指定的寄存
器中. 执行操作: REG = EAsrc 注: SRC只能是各种寻址方式的存
储器操作数,REG只能是16位寄存器 MOV BX , OFFSET OPER_ONE 等
价于 LEA BX , OPER_ONE MOV SP , [BX] //将BX间接寻址的相继的
二个存储单元的内容送入SP中 LEA SP , [BX] //将BX的内容作为
存储器有效地址送入SP中
LDS REG , SRC //常指定SI寄存器。

执行操作: REG=(SRC), DS=(SRC+2) //将SRC指出的前二个存储单元的内容送入指令中指定
的寄存器中,后二个存储单元送入DS段寄存器中。

LES REG, SRC //常指定DI寄存器执行操作: REG=(SRC) , ES=(SRC+2) //与LDS
大致相同,不同之处是将ES代替DS而已.
LAHF LAHF ( Load AH with Flags ) 标志位送AH指令 //将
PSW寄存器中的低8位的状态标志(条件码)送入AH的相应位, SF送
D7位, ZF送D6位...... 执行操作: AH=PSW的低位字节。

SAHF SAHF ( Store AH into Flags ) AH送标志寄存器指令 //将AH寄
存器的相应位送到PSW寄存器的低8位的相应位, AH的D7位送SF, D6
位送ZF...... 执行操作: PSW的低位字节=AH。

PUSHF PUSHF ( PUSH the Flags) 标志进栈指令 //将标志寄存器的值压入堆栈顶部, 同时栈指针SP值减2 执行操作: SP=SP-1,(SP)=PSW的高8位, SP=SP-1, (SP)=PSW的低8位
POPF POPF ( POP the Flags ) 标志出栈指令 //与PUSHF相反, 从堆栈的顶部弹出两个字节送到PSW寄存器中, 同时堆栈指针
值加2 执行操作: PSW低8位=(SP), SP=SP+1, PSW高8位=(SP) , SP=SP+1
IN 输入输出指令(IN,OUT) 只限于使用累加器AX或AL与外部
设备的端口传送信息. (INput)输入指令:信息从I/O通过累加器
传送到CPU IN AL , PORT //直接的字节输入,PORT是外设端口编号(即端口地址),只能取 00H ~ 0FFH共256个端口地址. IN AX , PORT //直接的字输入,AX存储连续两个端口地址PORT+1,PORT IN AL , DX //间接的字节输入,端口地址范围可通过DX设置为0000H ~ 0FFFFH
共65536个端口地址 IN AX , DX //间接的字输入
OUT ( OUTput)输出指令:信息从CPU通过累加器传送到I/O OUT PORT , AL //直接的字节输出,PORT规定与IN指令相同. OUT PORT , AX OUT DX , AL //间接的字节输出 OUT DX , AX MOV AL,05H
OUT 27H, AL //将字节05H传送到地址
经过一系列硬件课程的学习及相关实验之后,做一个综合的系统性设计,这在硬件方面是一个提高,可进一步培养实践能力。

一条指令的执行过程按时间顺序可分为以下几个步骤。

① CPU发出指令地址。

将指令指针寄存器(IP)的内容——指令地址,经地址总线送入存储器的地址寄存器中。

② 从地址寄存器中读取指令。

将读出的指令暂存于存储器的数据寄存器中。

③ 将指令送往指令寄存器。

将指令从数据寄存器中取出,经数据总线送入控制器的指令寄存器中。

④ 指令译码。

指令寄存器中的操作码部分送指令译码器,经译码器分析产生相应的操作控制信号,送往各个执行部件。

⑤ 按指令操作码执行。

⑥ 修改程序计数器的值,形成下一条要取指令的地址。

若执行的是非转移指令,即顺序执行,则指令指针寄存器的内容加1,形成下一条要取指令的地址。

指令指针寄存器也称为程序计数器。

相关主题