为M-3机器编写程序,需要依据该机器厂家提供的机器指令来进行,每条指令中无论是数据还是操作码,全部都是0和1的串。
M-3机每条指令都由操作码和操作数组成。操作码8个二进制位。操作数有两个,分别表示内存地址,各占12个二进制位。
θ
A1
A2
每条指令的三个域共32个二进制位,与M-3机内存单元长度一致。所有操作码和操作数都是数字。如
00 0001 0002
00表示做加法,把0001单元的内容与0002单元内容相加,将结果送往寄存器By,然后回存到0002单元。
这条指令送到内存就是:
00000000000000000010000000000010
指令从功能上分为:算术运算、逻辑运算、代码传送、控制指令、停机五种。指令地址要自己分配,该机器只有数字类型数据,程序只能做数字计算。
指令集是厂家提供给编程人员,用来编程的指令格式规范。计算机有了指令集,只表示计算机有了潜在的计算能力。要计算机做事就必须编写程序,组织一个指令序列。
由指令序列构成的每个程序,其中全部都是0和1,在纸面上规定用8进制书写,因此全部是数字0-7。并且为每个操作码和操作数分配存储单元。再用传送指令把它从穿孔纸带上预存到指定的存储单元中,以后通过地址操作从该单元取用。
举一个用M-3机器指令编程的例子,试编写求以下表达式的值的程序:
f=((x2 y2-z2)sinx)/(x2 y2) ①
其中sinx用近似式x-x2/6表示(-1