Global Sources
電子工程專輯
 
電子工程專輯 > 控制技術/MCU
 
 
控制技術/MCU  

重溫舊夢 打造‘Max的專屬監控器’

上網時間: 2007年11月21日     打印版  Bookmark and Share  字型大小:  

關鍵字:組合語言  程式碼  運算技術 

你還記得在《巨?劇團:飛翔馬戲團》(Monty Python's Flying Circus)短劇中,那著名的‘四個約克郡男人’情節嗎?四位老人在回憶他們年輕時度過的艱苦歲月時,大家爭相訴說著越來越離奇的故事,以便使自己所遭受的經歷博得更多同情與唏噓。最後,在最誇張的故事講完後,其中一位說道,“若你將這些故事講給現在的年輕人聽,他們可不會相信!”

當我向年輕人提到電腦運算技術發展之初的早期歲月時,我總是想起上述情景。今天,人們可以預期自己的電腦有幾百萬位元組(MB)的RAM、數十億位元組(GB)的硬碟,以及最豔麗的繪圖顯示功能,所有的這一切好像理所當然,似乎運算技術自發展之初就是如此,而電腦的性能也向來如此強大。

然而,當年的情況可不是這樣的。雖說一日千里的科技發展腳步總是不斷淘汰掉一些舊有技術,然而,有些部份仍然深植在我的心中,甚至一些困難的技術問題都會在多年後變成美好的回憶。今天,還有多少人熟悉組合語言呢?曾經經歷過必須手動編寫每一行程式碼歲月的同行們,現在可能都有同樣的感慨。

情況的變化是多麼大啊!當我仍是個天真爛漫的年輕人時,我曾夢想著自己有台電腦。但在當時,我最大的奢望是擁有這樣一台設備:8位元的CPU、1KB的ROM、1KB的RAM、用於輸入指令和資料的16進位袖珍鍵盤,以及一些用於顯示輸出結果的七段式顯示器。

在那些原始的系統中,ROM的內部常駐了一個簡單的監控器程式。用戶要利用該監控器一位元組一位元組地將指令(作業程式碼)和資料值敲入RAM內,以產生自己的程式。那麼,組譯器呢?別開玩笑了!你得自己用鉛筆和紙一行行地列出二進位碼。

我之所以談及上述這些歷史,是因為最近我設計了一個稱為DIY Calculator的簡單8位元虛擬電腦,它與《電腦是如何運算的?》(How Computers Do Math)這本書一起使用。一位來自明尼蘇達州Buffalo的Brian Beckius,最近發了一封電子郵件給我,詢問監控器的一些問題,並說明他打算為DIY Calculator編寫一個監控器。

Brian是位卡車修理工(www.truckwiz.com),但他對微處理器癡迷,所有有關電腦及運算技術方面的知識他是完全自學的。他向我諮詢了一些一般性的建議,但並未向我要任何程式碼,因為他想完全靠自己編寫一款‘Brian的專屬監控器’。

‘Brian的專屬監控器’?也許有些人會發笑,但我不會。所以,我打算以‘Max的專屬監控器’來回應。

我們打算編寫自己專屬的監控器,然而,總得制訂一些遊戲規則。經過討論後,Brian和我制訂了一個非常簡單的規格。該監控器最長1,024位元組。它應允許用戶觀察選定的記憶體位址內部內容、在選定的記憶體位址內寫入新值,而且能讓用戶程式接管控制。

我們的想法是,Brian和我各自獨立編寫自己的監控器,完成後再比較結果,以考量我們的實現方法有哪些不同。有興趣的讀者,可從DIY Calculator網站(www.DIYCalculator.com)上的‘程式與程序’(Programs and Routines)頁面中,下載Brian和我所撰寫的監控器原始程式碼。

我的監控器目前佔768位元組的記憶體空間,未來我還打算將其減少到512位元組或更小。再一次與組合語言程式碼打交道讓我享受了極大的樂趣,對我來說,這相當於重溫了過去曾經的美好時光。但若你對今天的年輕人講這些,他們應該不會相信!

Clive (Max) Maxfield是Programmable Logic DesignLine的編輯

作者:Clive (Max) Maxfield




投票數:   加入我的最愛
我來評論 - 重溫舊夢 打造‘Max的專屬監控器’
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首