在大多数计算机中, *** 作系统例如Windows等,加载并且执行很多程序。在这种情况下,一个计算机程序是指一个单独的可执行的映射,而不是当前在这个计算机上运行的全部程序。
程序(Program)告诉计算机应如何完成一个计算任务,这里的计算可以是数学运算,比如解方程,也可以是符号运算,比如查找和替换文档中的某个单词。从根本上说,计算机是由数字电路组成的运算机器,只能对数字做运算,程序之所以能做符号运算,是因为符号在计算机内部也是用数字表示的。此外,程序还可以处理声音和图像,声音和图像在计算机内部必然也是用数字表示的,这些数字经过专门的硬件设备转换成人可以听到、看到的声音和图像。程序由一系列基本 *** 作组成,基本 *** 作有以下几类:
输入(Input)
从键盘、文件或者其他设备获取数据。
输出(Output)
把数据显示到屏幕,或者存入一个文件,或者发送到其他设备。
基本运算
最基本的数据访问和数学运算(加减乘除)。
测试和分支
测试某个条件,然后根据不同的测试结果执行不同的后续 *** 作。
循环
重复执行一系列 *** 作。
你曾用过的任何一个程序,不管它有多么复杂,都是按这几类基本 *** 作一步一步执行的。程序是那么的复杂,而编写程序可以用的基本 *** 作却只有这么简单的几种,这中间巨大的落差就要由程序员去填补了,所以编写程序理应是一件相当复杂的工作。 编写程序可以说是这样一个过程:把复杂的任务分解成子任务,把子任务再分解成更简单的任务,层层分解,直到最后简单得可以用以上几种基本 *** 作来完成。
计算机程序是由指令组成的。指令是机器所能识别的一组编制成特定格式的代码串,它要求机器在一个规定的时间段(指令周期)内,完成一组特定的 *** 作。指令的基本格式可归结为 *** 作码OP和 *** 作数地址AD两部分,具体内容是:
⑴ 指出计算机应完成的一组 *** 作内容,如传送(MOV)、加法(ADD)、减法(SUB)、输出、停机(HLT)、条件转移(JZ)等。这部分称为指令的 *** 作码部分。
⑵ 两个 *** 作数的地址和存放结果的地址及寻址方式。
⑶ 为保证程序执行的连续性,在执行当前指令时,还需指出下一条指令的地址。由于指令在存储器中一般是顺序存放的,所以只要设置一个指令指针(IP),每执行一条指令,IP自动加1,便自动指出下一条指令的地址,而不必在指令中专门指出下一条指令的地址 。只有在转移指令中才指出下一条指令的地址。此时,IP的内容将随转移指令所指示的内容改变。
扩展资料
计算机执行一条指令的步骤如下:
① 把指令指针IP中的指令地址送存储器,从该地址取出指令送指令寄存器IR;
② 地址计算部件,根据IR中的地址码形成 *** 作数地址送存储器,从该地址取出数据,送到运算器中的寄存器(或寄存器组);
③ 将IR中的 *** 作码OP送指令译码器进行译码;
④ 在控制器发出的 *** 作信号的控制下,计算机各有关部件执行 *** 作码OP规定的 *** 作;
⑤ 指令指针IP加1,形成下一条指令地址。如遇到转移指令,则按转移指令对状态标志寄存器测试的结果,决定是否将转移指令中指出的指令地址送指令指针IP。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)