彙編學習 二

2021-07-04 02:57:54 字數 1005 閱讀 6233

如果要能編譯和執行asm檔案,則必須安裝masmsdk2.建立visual c++空白工程

3.新建asm檔案 這是網上摘錄的

mymain.asm

.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.進行檔案和工程屬性配置

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...