查看單個文章
舊 2005-12-18, 07:42 PM   #3 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

最後就剩下四大天王中的黎明了,近一段時間來,他總是比較低調...(你別打我了,我去撞牆好了)最後就剩下EDX了,一般在作雙字長運算時把DX和AX組在一起存放一個雙字長數(你還記的什麼是雙字長吧,舉個例子,比如說有一個數二進制資料01101000110101000100100111010001,你要把它寄存起來,就可以把0110100011010100(即高十六位)放在DX中,把0100100111010001(即低十六位)放在AX中,這個數表示為DX:AX)當然完全可以用一個EDX就把這個數給裝下。所以,還可以用EDX:EAX來裝一個64位資料,這個你會推斷出來吧。



而ESP、EBP、EDI、ESI,我上邊兒以經大概介紹的差不多了,所以這裡不說它們了。


當然還有其它的一些限制,因為我們只是要看程序的彙編程式碼(人家寫好了的,肯定不會犯錯誤吧),而不是要去寫,所以可以不必掌握。有性趣的話,去看相關書籍。



另外再說一下你的最後一個問題「寫個程序的時候那些變數什麼的可以放在任意的暫存器麼? 」這句話我不明白你要問的是什麼。我想你可能是把一些關點給搞錯了,變數這詞通常都是出現在進階語言中的,而你用進階語言寫程序的話,完全不用理解那些暫存器什麼的,這些都跟進階語言沒什麼關係。但是最終,進階語言也還是把你寫的程序轉換為對暫存器、內部儲存於器的操作。

第三章—Windows程序


這一章我都不知道該如何寫了,哈哈~~
畢竟,Win32是一個非常深奧的系統,目前還容不得我這種小輩在這兒說三道四,不過,我既然是要寫給那些入門階段的朋友們看的,又不是寫給那些搞程序設計老鳥看的,所以,我也犯不著怕被人背後指著罵 本章的名字就叫《Windows程序》而不是《Windows程序設計》所以,我只是講一些關於Windows程序運作的原理:
Windows為什麼叫Windows,相信所有用過的朋友都可以明白,那桌面上一個一個的視窗,就是它名字的由來。也就是這一個又一個視窗的出現,使電腦的使用一下子簡單了巨多。



幾年前接觸過電腦的朋友一定知道DOS吧,不知道的話,去問加解密工具下載版的版主老哥,讓他跟你解釋 你還記的DOS下那黑乎乎的視窗吧,沒見過的哥們兒可以在開始選單中找出來看看。



DOS通過一系列的指令來進行相應的操作,如進入一個目錄,移除一個目錄等等等等。那種工作方式就叫做命令提示字元方式,也即指令行。
現在國內不懂電腦的人還老愛說要想學電腦,必須要英語過關。


(就是這個,嚇跑了多少僅僅是想學習一些基本操作的朋友)可能也就是源自DOS的原因吧。
後來,隨著硬體的支持以及技術上的提高,當然還有為了使電腦更方便的服務與人,慢慢的就有了所謂的視圖操作系統,從此,你不用再記憶那些大堆的指令了,而且操作上,也有了相大的提高,可以說操作系統發展到今天的份兒上,操作已經夠簡單了,去看看那些在網咖裡一把鼻涕的小孩子們吧…
當然,就像當年DOS之於指令提示行一樣,今天的Windows仍和當年一樣,佔據著大部分的用戶群。


(場外:一觀眾扔來一爛柿餅,你是唐僧啊,這麼多廢話)
馬上轉入正題,Windows之所以好用,除了不用背N多的指令外,一個原因就是因為它本身提供了大量的標準Windows GUI函數。所以對於用戶,面對的是同一套標準的視窗,對這些視窗的操作都是一樣的,所以使用不同的應用程式時無須重新學習操作。不用像當年在DOS下面那樣一安裝新程序,就要馬上看說明 ,看說明。


而Windows GUI函數,只不過是微軟提供給程序開發人員的API(Application Programming Interface 套用編程接頭)中的一小部分而以。Windows API是一大組功能強大的函數,它們本身駐紮在 Windows 中供人們隨時使用。這些函數的大部分被包含在幾個動態連接庫(DLL)中,譬如:kernel32.dll、 user32.dll 和 gdi32.dll。

Kernel32.dll中的函數主要處理記憶體管理和工作調度;user32.dll中的函數主要控制用戶界面;gdi32.dll中的函數則負責圖形方面的操作等等。


你可能多多少少聽說過API函數,如果你不太清楚到底是怎麼一回事的話,我盡量給你解釋的清楚一點。
不知道你有沒有想過,Windows中的那一個又一個視窗是怎麼畫出來的呢?哈哈,你可能用VB、Delphi編程序序,你有沒有想過你寫的程序中的那些視窗是怎麼形成的?是控件變成的。




倒...哈哈,相信你當初學VB或Delphi的時候,所看的書上一定對可視化編程環境大肆讚揚了一番吧,是不是也提到過比VC++怎麼怎麼方便?怎麼怎麼不用再為產生程序的界面而花費大量無用時間了等等。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3204 次