左移命令 比如:
mov eax,10 shr eax,0x2
上面的命令是將eax的值左移兩位,怎麼左移呢?首先將eax的值轉爲二進制10------》1010,然後左移兩位變成10,所以執行爲shr命令,eax的值爲十進制的2
1、win32中的句柄在數值上表示一個32位的數,用來標識應用程序/進程中不同對象以及同類對象中的不同實例,而所謂實例就是指被實例化的對象,實例化的過程就是通過類創建對象的過程。實例化對象的目地是爲對象開闢內存空間。所以句柄是指向一片內存
win32彙編中用VC6.0打開資源時出現“fatal error RC1015: cannot open include file 'resource.h'.”錯誤? 解決方案: 1、在資源文件中加入完整路徑, 比如: include
ADC 帶進位加法指令 用法: adc 操作數1,操作數2 相當於: 操作數1+操作數2+進位標誌CF->操作數1 現在的eax是0,C=1,用adc指令直接會是0x6 SBB 帶進位減法指令 用法: sbb 操作數1,操
注:下面說到的標誌寄存器都是縮寫,C就是CF,其他也一樣 標誌寄存器:C、P、A、Z、S、T、D、O的內容只會是0或1,0表示假,1表示真 O:溢出標誌 一個寄存器如果存放的值超過所能表示的範圍,就稱爲溢出,O溢出時被置爲1,
MOVSX 先符號擴展,再傳送 格式: MOVSX 操作數A ,操作數B //操作數B的空間小於A 比如說我們使用命令: movsx eax,bx bx是16位,eax是32位,傳值過程: 先用bx的符號位把eax高16填
功能:將兩個操作數進行邏輯與運算,並根據運算結果設置相關的標誌位,並不改變操作數1和操作數2的值 test 操作數1,操作數2 我們經常用test來判斷一個值是否爲0,用法: test 操作數1,操作數1 比如我們來判斷eax
PUSHAD PUSHAD也叫保護現場,就是把我們的寄存器壓入棧中 pushad是把eax,ecx,edx,ebx,esp、ebp,esi,edi依次壓入棧中,ESP會減少32,相當於: push eax push ecx pus
MUL 無符號乘法指令,默認操作數與eax相乘(這裏只說32位,其他與下面的div類似) 格式: mul 操作數 //操作數只有一個 操作數與eax相乘,結果共有16位(這裏的16位是16進制數),高8位放在edx中,低8位放
第五課 學習更多關於“繪製”文本串的知識 我們將做更多的實踐去了解有關文本的諸多屬性如字體和顏色等。 理論: Windows 的顏色系統是用RGB值來表示的,R 代表紅色,G 代表綠色,B 代表蘭色。如果您想指定一種顏色就必須給該顏色賦
第六課 處理鍵盤輸入消息 在本課中,我們將要學習WINDOWS程序是如何處理鍵盤消息的。 理論: 因爲大多數的PC只有一個鍵盤,所以所有運行中的WINDOWS程序必須共用它。WINDOWS 將負責把擊鍵消息送到具有輸入焦點的那個應用程序中
第十九課 樹型視圖控件 本課中,我們將學習如何使用樹型視圖控件。另外還要學習如何在樹型視圖中完成拖-拉動作,以及如何使用圖象列表。 理論:樹型視圖是一種特別的窗口,我們可以使用它一目瞭然地表示某種層次關係。譬如象在資源管理器中左邊窗口中
第十七課 動態鏈接庫 本課中,我們將學習DLLs,它們到底是什麼和如何創建它們。 理論: 如果您編程的時間非常長,就會發現很多的程序之間其實有相當多的重複代碼。每編一個程序就重寫一遍這些代碼既沒必要又浪費時間。在DOS時代,一般的做法
第十課 以對話框爲主要界面的應用程序 現在我們開始學習一些有關GUI編程的有趣的部分, 即:以對話框爲主要界面的應用程序。我們將分兩課來講述這一過程 理論:如果您仔細關注過前一個程序就會發現:您無法按TAB鍵從一個子窗口控件跳到另一個