计算机指令系统代码设计,指令系统

指令系统

程序功能:求两个数据之和并输出

#include

int main{

int a,b,sum;

a=12;

b=13;

sum=a+b;

printf("sum is %d\n",sum);//在高级语言中称为语句;在机器语言和汇编语言中称为指令。

}

运行结果:sum is 25

基本概念:

指令:是计算机硬件能够直接理解并执行的最基本操作。

指令是构成程序的基本元素。

指令集或指令系统:一台计算机能执行的机器指令的集合。

一、指令格式设计

1.指令地址码的个数

1.一条指令中必须明显或隐含地包含以下信息:

①操作码。指定操作类型,如:移位、加、减、乘、除、传送等

②源操作数或其地址。指出一个或多个源操作数或其所在的地址,可以是存储单元的地址、寄存器编号或I/O端口,也可在指令中直接给出一个立即数。

③结果的地址。结果所存放的地址,可以是存储单元的地址、寄存器编号或I/O端口。

④下条指令地址。下条指令存放的存储单元的地址。

2.指令的基本格式

4479b6ac9099

指令的基本格式.png

3.一条指令由一个操作码和几个地址码构成。

根据指令显式给出的地址个数,指令可分为三地址指令、二地址指令、单地址指令和零地址指令。

4479b6ac9099

指令的分类.png

2.指令格式设计原则

指令格式的选择应遵循的基本原则:

①指令应尽量短

②要有足够的操作码位数

③操作码的编码必须有唯一的解释

④指令长度应是字节的整数倍

⑤合理选择地址字段的个数

⑥指令应尽量规整。

二、指令系统设计

1.操作数类型

操作数是指令处理的对象,指令涉及到的操作数类型有:

①指针或地址。指针或存储单元地址通常用无符号整数来表示。

②数值数据。数值数据只要是带符号整数和浮点数。

③位、位串、字符和字符串。位和位串数据一般用来表示一些标志、控制和状态等信息。字符和字符串数据用来表示文本、流式文件基本信息等。

④逻辑(布尔)数据。表示逻辑值。

2.寻址方式

操作数存放位置:从指令的角度来看,操作数存放位置可以是CPU中的通用寄存器、存储单元和I/O端口。

有效地址:指令中给出的操作数所在的存储单元的地址。

寻址方式:指令给出操作数或操作数地址的方式。

1.立即寻址

在指令中直接给出操作数本身,这种操作数称为立即数

4479b6ac9099

立即寻址.png

2.直接寻址

指令中给出的地址码是操作数的有效地址,这种地址称为直接地址或绝对地址。

4479b6ac9099

直接寻址.png

直接寻址方式下的操作数地址在指令中。

就是在指令中给出的地址码是操作数的有效地址。

3.间接寻址

指令中给出的地址码是存放操作数有效地址的存储单元地址

4479b6ac9099

间接寻址.png

4.寄存器寻址

指令中给出的是操作数所在的寄存器编号,操作数在寄存器中。

4479b6ac9099

寄存器寻址.png

5.寄存器间接寻址

指令中给出的地址码是一个寄存器编号,该寄存器中存放的是操作数的有效地址。

4479b6ac9099

寄存器间接寻址.png

6.变址寻址

变址寻址方式就是指令中的地址码字段给出一个基准地址A(或形式地址)和变址寄存器编号I,操作数的有效地址EA=(I)+A,其中(I)表示变址寄存器I的内容。

4479b6ac9099

变址寻址.png

4479b6ac9099

2153398c1a2d00d3061d44de2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值