第158章 内存榨干:把五百K当五个G用的疯子

苏晓月的手指上缠着创可贴,那是长时间敲击键盘磨出的水泡破了。

张汉玉不懂汇编,但他懂逻辑。他就坐在苏晓月旁边,盯着屏幕上的流程图,随时纠正逻辑错误。

“这里不行。入栈出栈太频繁,浪费时钟周期。换成寄存器直接寻址。”

“这个循环没必要。展开写,用空间换时间。”

“这里的判断逻辑反了……”

三天。

整整三天三夜。

除了上厕所和扒两口饭,所有人都没有离开过那张桌子。空气浑浊得让人窒息,每个人身上都馊了。

第三天凌晨四点。

苏晓月敲下最后一个回车键。

没有报错。

编译通过。

生成的内核文件大小:380KB。

比之前足足小了将近一半。

“刷机。”

苏晓月的声音哑得像砂纸磨过桌面。

李建国早就准备好了,颤抖着手把那块自制的开发板连上烧录器。进度条缓慢地爬升,每一格都像是在爬过众人的心尖。

滴。

烧录完成。

张汉玉深吸一口气,按下了那个微动开关。

屏幕黑了一下。

一秒。两秒。三秒。

就在孙强以为又要失败的时候,屏幕亮了。

没有乱码,没有报错。

漆黑的背景中央,一个由像素点组成的红色火焰图案,缓缓浮现。

那是星火科技的Logo。

虽然边缘还有些锯齿,虽然色彩只有简单的红黄两色,但在这一刻,它比任何高清大片都要震撼。

紧接着,火焰散去,一个蓝色的界面跳了出来。

左上角是信号格,右上角是电池图标。中间整整齐齐排列着四个图标:电话、短信、联系人、浏览器。

“卧槽……”

孙强捂住嘴,眼泪毫无预兆地流了下来。

真的跑起来了。

在512KB的内存里,跑出了图形界面。

这是把大象塞进冰箱,而且大象还在冰箱里跳起了踢踏舞。

“别急着哭。”张汉玉指了指桌上那根连着电脑串口的数据线,“还没联网。”

这是最后一道鬼门关。

如果没有网络,这也就是个高级点的电子宠物。

苏晓月把数据线插好。另一头的电脑上运行着一个模拟GSM网络的服务器程序。

她在开发板那小小的按键上操作着。光标移动,选中了“浏览器”。

点击。

屏幕中央出现了一个沙漏图标,开始旋转。

“正在连接……”

地下室里安静得能听到排气扇扇叶转动的声音。

所有人都屏住了呼吸。

这套自制的TCP/IP协议栈,能不能扛住真实的数据交换?那个疯狂的压缩算法,会不会在解压数据包的时候崩溃?

屏幕闪了一下。

一行黑色的文字出现在白色的背景上。

`Hello, World!`

“通了!”赵立跳起来,脑袋撞到了低矮的天花板,但他根本顾不上疼,抱着孙强又蹦又跳。

“还没完。”

张汉玉的声音依然冷静,但捏着可乐瓶的手指已经把塑料瓶捏变了形。

“文字只是第一步。宋志敏要看的是图。”

他指了指电脑屏幕:“发那张图过去。”

赵立赶紧在电脑端操作,选择了一张16色的位图。

那是张汉玉特意找人画的——一只在悬崖边展翅的雄鹰。

发送。

开发板的屏幕上,沙漏转得更快了。

数据流通过串口,经过压缩算法,挤进那可怜的内存,再被CPU解压,最后渲染到屏幕上。

这一过程在后世可能只需要几毫秒,但在现在,却是漫长的等待。