40年代的编程: Before the middle of the 1940s, computer operators "hardwired" their programs
40年代的编程: Before the middle of the 1940s, computer operators “hardwired” their programs
而后,二进制代码 显然,hardwired program不易修改,set switches 不能算是编码! 0010001000000100 如何让计算机的执行做到:programmable? 0010010000000100 A big problem! 0001011001000010 0011011000000011 Big idea: 1,计算机提供基本的hardwired“原子操作” 1111000000100101 2,提供编码方式,支持程序员组合“原子操 0000000000000101 作”,编写“程序” 0000000000000110 3,将“程序”存放在存储空间中 0000000000000000 4,计算机“解读”程序编码,执行原子操作
而后,二进制代码 显然,hardwired program不易修改,set switches 不能算是编码! 如何让计算机的执行做到:programmable? A big problem! Big idea: 1,计算机提供基本的hardwired“原子操作” 2,提供编码方式,支持程序员组合“原子操 作”,编写“程序” 3,将“程序”存放在存储空间中 4,计算机“解读”程序编码,执行原子操作
例如: ·0010:操作码,将”某个”内存中的数据 复制到”某个”寄存器中 Q0.1.0001000000100 0010010000000100 ·001:001号寄存器 0001011001000010 ·第一个操作数 0011011000000011 ·000000100:地址偏移量,4 1111000000100101 ·第二个操作数:从下一条指令所存储的 地址向后偏移4个16位,取值5 0000000000000101 0000000000000110 执行效果:将5赋值给1号寄存器 0000000000000000
例如: • 0010: 操作码,将”某个”内存中的数据 复制到”某个”寄存器中 • 001: 001号寄存器 • 第一个操作数 • 000000100:地址偏移量,4 • 第二个操作数:从下一条指令所存储的 地址向后偏移4个16位,取值5 执行效果:将5赋值给1号寄存器
问题3 你看到“编程”了吗? 你看到“语言”了吗?
问题3 你看到 “编程”了吗? 你看到“语言”了吗?