如果要能編譯和執行asm檔案,則必須安裝masmsdk2.建立visual c++空白工程
3.新建asm檔案 這是網上摘錄的
mymain.asm
4.進行檔案和工程屬性配置.386
.model flat, stdcall
option casemap: none
include windows.inc
include kernel32.inc
include user32.inc
includelib kernel32.lib
includelib user32.lib
.data
szcaption db "hello", 0
sztext db "hello world!", 0
.code
main proc
invoke messagebox, null, addr sztext, addr szcaption, mb_ok
invoke exitprocess, 0
main endp
end main
4.1選中工程右鍵build dependencies/build customizations選中masm
4.2選中asm檔案右鍵屬性general/item type選擇microsoft macro assembler
4.3新增masmsdk的include和lib目錄
選中工程右鍵屬性對話方塊 配置屬性/vc++directories
inlcude directories c:\masm32\include
library directories c:\masm32\lib
4.4新增工程型別
屬性對話方塊中 linker/system/subsystem 選中windows (/subsystem:windows)
4.5編譯執行即可vs2013 + masmsdk11r+win7 + i3下執行正常
彙編學習 二
1.jmp 改變eip的值。最大區別 會改變esp 棧頂 1.cmp指令 該指令是比較兩個運算元,實際上,它相當於sub指令,但是相減的結構並不儲存到第乙個運算元中。只是根據相減的結果來改變零標誌位的,當兩個運算元相等的時候,零標誌位置1。可以用來判斷兩個數是否相等 cmp eax,eax 看zf,...
彙編loop ARM彙編(二)
前言 初學逆向 請多多指教 學習到的內容 1 arm的定址方式 一小部分 2 arm的常用指令集 arm的定址方式 之前arm彙編 一 中的間接定址還有部分忘記寫了,今天補上 在對多暫存器及塊拷貝定址的時候,需要知道的如下內容 基本使用的命令為 ldm stm,然後還有關於在進行拷貝的時候的暫存器變...
組合語言學習(二)
今天學習了王爽 組合語言 第5 6章。我感覺這兩章主要加深了對於段這個概念的理解。第5章 bx 和loop指令,重點在於段位址和偏移位址的理解,段字首的應用。第6章包含多個段的程式,重點在於理解為什麼要分段,掌握分段匯程式設計序的寫法,搞清楚段在記憶體當中的儲存。1.loop指令和 bx 的應用 1...