AI辅助编程Python实战:基于GitHub Copilot和ChatGPT
上QQ阅读APP看书,第一时间看更新

1.1 我们如何与计算机对话

如果我们一上来就要求你读懂下面这段代码,你能接受吗?

section .text
global _start
_start:
    mov ecx, 10
    mov eax, '0'
    l1:
    mov [num], eax
    mov eax, 4
    mov ebx, 1
    push ecx
    mov ecx, num
    mov edx, 1
    int 0x80
    mov eax, [num]
    inc eax
    pop ecx
    loop l1
    mov eax, 1
    int 0x80
section .bss
    num resb 1

这段“天书”会打印0~9的数字。它是用一种低级编程语言——汇编语言编写的。如你所见,低级编程语言与人们日常读写的语言相去甚远。它们主要是为计算机而设计的,并非面向人类。

没人愿意编写这种程序,但在早期,这也是不得已而为之。程序员通过这种手段细致地定义他们希望计算机执行的具体操作,细致到每一条指令。为了从性能不足的计算机中尽可能地榨取性能,这种精细的控制是必需的。20世纪90年代那些对速度要求极高的计算机游戏,例如《毁灭战士》(Doom)和《雷神之锤》(Quake),都是采用上面那种汇编语言编写的。如果不这样做,这些游戏根本开发不出来。