masm32

    1熱度

    2回答

    我學習的x86彙編和使用MASM,並想寫它具有相當的簽名下面的C函數的函數: void func(double a[], double b[], double c[], int len); 我不知道如何實現它? asm文件將被編譯成win32 DLL。 所以,我可以瞭解如何做到這一點,可以有人請翻譯這個很簡單的功能到ASM對我來說: void func(double a[], double b

    3熱度

    1回答

    以下兩行有什麼區別? mov ax, bx mov ax, [bx] 如果bx包含值100H和內存地址100H爲23的值,做第二個副本,23 ax? 另外,以下兩行有什麼區別? mov ax, 102h ; moves value of 102h into register ax mov ax, [102h] ; Actual address is DS:0 + 102h

    3熱度

    3回答

    有人可以解釋下面兩個之間的區別是什麼?我發現它有點難以理解尋址模式背後的概念 mov ax, [bx + di + 10] mov ax, [bx + di] + 10 非常感謝!

    2熱度

    2回答

    根據本書,寄存器是一個CPU存儲空間小的地方(例如16位CPU上的16位)。那麼CPU寄存器如何具有地址?如果它不在內存中而是在CPU上,我們如何能夠增加排量? 舉例: mov ax, [bx+1000h]

    1熱度

    1回答

    當您在MASM中的.data段中聲明變量時,那些變量分配在哪裏?在堆棧中還是在堆內存中?那麼「.data?」怎麼樣?分割?

    0熱度

    1回答

    我有一個很簡單的問題: 我想存儲字節在MASM32一維數組(我剛開始用它昨天,之前使用C#),然後用一些簡單的修改數學,但我沒有發現任何有用的網絡。 tiles BYTE 12 dup (0) ; array of 12 bytes with value 0 這是怎麼我在.data段聲明數組,基本上是我想在C#語法做的是: for(int i = 0; i < tiles.Length; i+

    0熱度

    1回答

    我想檢索一個網站內容作爲一個字符串在masm中,我使用Wininet和頁面請求罰款,但是當我使用InternetReadFile來讀取內容我不知道如何把它放在同一個緩衝區,因爲它不是一次全部閱讀。 代碼如下: .data? Bufferlen dd ? Buffer db 65536 dup(?) .... get_page: invoke InternetReadFile

    0熱度

    1回答

    我剛開始學習masm32,對.obj文件有點困惑,我之前使用過C#,所以編譯器爲我連接,現在我有qeditor,但無法找到選項來組裝多個.asm文件。我有一個非常基本的程序內置的: Vector.asm (+ Vector.inc), ...is a vector Matrix.asm (+ Matrix.inc), ...is a matrix Main.asm ... is the mai

    1熱度

    1回答

    當我運行這個例子,我得到一個錯誤。刪除PROC1 PROC FAR後,我得到另一個錯誤「符號類型衝突」。使用/ coff:「起始地址所需的前導下劃線:START」。 Microsoft(R)宏彙編程序版本6.14.8444版權所有(C)Microsoft Corp 1981-1997。版權所有。 組裝:d:\ Linux的\ test1.asm d:\ Linux的\ test1.asm(28):

    0熱度

    1回答

    我在論壇中碰到了一個關鍵記錄程序。我雖然可以自己創建一個鍵盤記錄器。當我正在閱讀代碼以查看該程序中實際發生的事情時,我遇到了一些有趣的事情。 1.程序幾乎從未將變量推送到堆棧。它將變量的值移動到一個寄存器,然後推動寄存器。 例如。 ;hInst:DWORD 4 lea esi, hInst push esi 2.程序使用stosd清零數組。 例如: ;array1 BYTE 256 DUP