民初思韻網

加入收藏   設為首頁
選擇語言   簡體中文
你好,請 登陸 或 注冊
首頁 人文思韻 傳奇人物 歷史思潮 時代作品 話題討論 國民思韻 民初捐助 賬戶管理
  搜索  
    人文精神 >>> 技術的天空 溫和的思緒
字體    

1985年我是如何寫代碼的
1985年我是如何寫代碼的
網載     阅读简体中文版

  英文原文:JGC,編譯:DEEPFISH@奇風余谷

  回到 1985 年,我還在給一個設計成給瓶子貼標簽的機器計算機化。制造這個機器的公司用機電控制,將標簽從卷軸上撕下帖到傳送帶傳來的產品(例如洗發液瓶子)上。整個過程需要工作在毫米級精度上,因為消費者不喜歡沒有完全對齊的標簽。

  不幸的是,機電控制不像電腦控制那樣靈活,因此該公司與當地一所工學院(我正在該校學習電子學)簽訂了合同,用 KIM-1來設計電腦控制原型。另一個學生整合機器,他把傳送帶,標簽發放機制,步進電機控制,還有探測標簽和產品的紅外感應器進行組裝。

  我的工作是用 6502 匯編語言寫軟件。不幸的是,沒有編譯器,而且 KIM-1 只有一個十六進制的小鍵盤和一個小的顯示屏。因此這意味著要手工寫代碼,手動編譯和打字。代碼是這樣子的:

 

  很快電腦控制需要變得更加靈活。程序首先自動校驗:測量卷軸上的標簽自身的長度,測量標簽之間的距離,并且它啟用了一個運算器快速設立”懸掛”距離(標簽要伸出去多少才能讓產品抓到)。

 

  在運行中,它要能自動檢測傳送帶移動的速度,還有當供應卷軸上的標簽缺失時(當一個卷軸意外掉落時就會發生)進行補償和標記。

  當然像這樣寫代碼是一種痛苦。你首先必須寫完代碼(藍色),然后轉化成機器碼(紅色),并計算每個指令的內存地址和相對跳轉地址。那時候我沒有能夠計算十六進制的計算器,所以我自己完成大部分所需的計算(如在大腦里計算相對跳轉地址)。

  然而它教會了我兩件事:在第一時間寫對代碼 和 學會在大腦中運行代碼。后者至今仍然重要。我調試時還是會先在大腦里跑一遍。通常情況下我會先于 gdb 或類似的工具,使用我的大腦調試器。KIM-1 里只有最基本的調試功能,我在程序里也寫了點,但是大部分調試都是盯著輸出(十六進制顯示屏上),(步進器的)行為看,還有在腦子里運行代碼。

  如果你好奇,這里是整個程序

  PS:一些讀者指出在 1985 年 KIM-1 離先進水平還很遠,而且我們有很多好東西例如編譯器等等。是的。事實上比這還早的時候我用 BASIC 和 ZASM(Z80 編譯器)在 CP/M下編程,但是你是用你已有的條件來干活的,工學院有空閑的 KIM-1,它有不錯的I/O,因此它是制作嵌入式控制器的很好的原型系統。http://news.cnblogs.com/n/176778/

引用那時候人們能用幾十Kb內存的計算機發射航天灰機衛星上天,現在我們拿著動輒1G內存的手機,發射小鳥去撞豬。
 

當年用FoxBase寫程序時,也是經常先寫好,再錄入到電腦里的,不過比樓主這個已經“先進”多了。那時候覺著能在電腦上直接編碼的都很牛。
 
那個時候寫程序是藝術,是電子科學技術的一遍遍探索和挖掘.每一行都代表了科技的進步和嘗試.現在寫程序只是沒背景,沒關系,進不了公務員考不了研,懷揣夢想卻為無房無車無妞淚流滿面天天只為掙些蛋餅錢和上網費而寫代碼.你說都混到這樣了寫代碼如果還那么復雜,那怨氣更得沖天了.實世造英雄.
 
然而它教會了我兩件事:在第一時間寫對代碼 和 學會在大腦中運行代碼。

對于現在的程序員來說,這兩件事都很牛逼。

 

2013-05-07 09:18

歡迎訂閱我們的微信公眾賬號!
春秋茶館訂閱號
微信號 season-tea(春秋茶館)
每天分享一篇科技/遊戲/人文類的資訊,點綴生活,啟迪思想,探討古典韻味。
  清末民初歷史人物  民初人物
憲政專家民主理論大師
宋教仁(1882年4月5日-1913年3月22日),字鈍初,號漁父,生於中國湖南省桃源縣,中國近代民主革命家,是中華民國初期第一位倡導內閣制的政治家。
新與古典文化研究大家
胡適(1891年12月17日-1962年2月24日),原名嗣穈,學名洪騂,字希疆,後改名胡適,字適之,筆名天風、藏暉等,其中,適與適之之名與字,乃取自當時盛行的達爾文學說....
資助民初精神網
        回頂部     寫評論

 
評論集
暫無評論!
發表評論歡迎你的評論
昵稱:     登陸  註冊
主頁:  
郵箱:  (僅管理員可見)

驗證:   验证码(不區分大小寫)  
© 2011   民初思韻網-清末民初傳奇時代的發現與復興   版權所有   加入收藏    設為首頁    聯繫我們    1616導航