宏的概念對我來說並不陌生,可是我從不使用宏,而總是使用過程(子程序),因為我覺得宏會使程序變長,雖然它在執行時會比調用子程序快。所以一直對宏不太感
建議使用MASM for EditPlus進行測試。正如"防止程序多重啟動"一文所說,當已經知道自己的實例在運行了,為了節省資
IDE,全稱集成開發環境,對於MASM的IDE,我想每個人最低的要求都至少要求在寫程序時不需要在命令行中手工輸入命令來編譯再鏈接,這樣很不方便,如
這是一個一直有爭議並且都沒有完美實現的問題,有人自己寫類,有人自己寫窗口模擬,其實,它真的很簡單,簡單到一個什麼程度?無需任何的技巧,只要在Tra
控制轉移基本上可分為兩大類:同一任務內的控制轉移和任務間的控制轉移(任務切換)。同一任務內的控制轉移又可分為:段內轉移、特權級不變的段間轉移和特權
大家在處理有些字節拼裝的消息時,一定是用Shr等指令來移位,這裡有一個小問題,要注意:如WM_MOUSEWHEEL消息,它的wParam的高字節保
經常看到使用Byte ptr/Word ptr/Dword ptr/Qword ptr 等等來臨時轉換數據,這裡有一個小技巧。如:buffer
本文介紹兩個實現實模式與保護模式切換的實例,通過他們說明如何實現實模式與保護模式的切換,也說明保護模式下的80386及其編程。<一>演
根據我的試驗,在win2000以上操作系統對於ebx,esi,edi好像是拿來就用,沒有進行保護和恢復,如果你的程序中使用了這幾個寄存器,請一定先
80386控制寄存器和系統地址寄存器如下表所示。它們用於控制工作方式,控制分段管理機制及分頁管理機制的實施。
LoadCursor,LoadIcon,LoadStringGetStockObject這幾個函數獲得的句柄無需釋放。
一般在WM_NOIFY消息中處理是這樣的:lParam傳過來的是一個NMHDR結構的地址,普通處理如下:mov ecx,lParamassume
大家都知道匯編有byte,word,dword,fword,tword等等類型,可是為什麼常說匯編數據無類型呢?這是因為在匯編編程裡面,這些數據類
LEA另一用途就是代替乘法運算,比如LEA EAX,[EAX*4+EAX]就要比用MUL去實現EAX*5來得快捷,具體原因很復雜,反正事實就是
用xor與同一數據進行兩次運算後將得到運算前的值,如:eax=200xor eax,100xor eax,100結果eax還是等於200
call @4@4: pop ebx大家知道call指令會把其下一條指令的地址壓入棧頂,所以當執行到@4時,ss:[esp]就是@4的地址 ! 這
我們將學習本教程中另外一個重要的結構,叫客戶寄存器結構。在本文中,V86指虛擬8086模式。在這裡下載例子程序 理論VxDs與正常的win32/w
很簡單,只需要處理WM_NCPAINT消息就行了,就是Windows Message Not Client Paint -- 非客戶區的重畫,
請求執行時間段通常被簡稱為"appy time"。是指當系統VM穩定到充許VxDs和ring-3級別的應用軟件(特別是16-b
上一節我們介紹了花指令,不過花指令畢竟是一種很簡單的東西,基本上入了門的Cracker都可以對付得了。所以,我們很有必要給自己的軟件加上更好的