17、计算机编程中的控制结构与基础指令集

计算机编程中的控制结构与基础指令集

1. 最小通用计算

在计算机编程的世界里,一个有趣的问题是:编写任何计算机程序究竟需要多强大的语言能力?换个说法,计算任何可计算结果所需的最小指令集是什么?

在计算机发展的早期,人们就展开了一场竞赛,试图找出这个最小值。理论上,所需的指令并不多。这个答案对我们很有帮助,它表明编写所有程序所需的指令可以少到什么程度,同时也凸显了控制的重要性。

通常,这些结果会用汇编语言来呈现。汇编语言是对计算机实际机器语言中 0 和 1 的一种类似英语的描述。也就是说,汇编语言是专门与它所运行的 CPU 相匹配的,用于为该 CPU 生成指令。基本指令包括操作内存(可以是实际的内存位置,也可以是处理器上的“累加器”寄存器)以及跳转到程序中的特定指令。(你可以把累加器想象成使用计算器时存储计算结果的地方。)在早期计算机中,由于硬件成本高昂,累加器很常见。

以下是一个最小指令集:

LOAD A  ; 将 RAM 地址 A 处的内容加载到累加器
STORE A ; 将累加器的内容存储到 RAM 地址 A 处
CLR     ; 清空累加器
INC     ; 累加器的值加 1
BRZ X   ; 如果累加器的值为零,则跳转到 RAM 地址 X 处的指令

所有的计算机程序都可以仅使用这五条指令来编写,这是一个非常重要的结果!虽然这样的程序可能几乎难以理解(即不可读),但理论上是可行的。

需要注意的是,“分支”指令是必要的指令之一。这种分支指令是最原始的控制类型,它与前面介绍的简单 if 语句密切相关。这个分支

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值