x86

    4熱度

    1回答

    MASM提供了一個SEGMENT指令。該指令需要幾個參數。 use參數可以取值FLAT。我不清楚這個價值是什麼。 的Microsoft docs它指定爲接受的值,但不會嘗試來形容它: use USE16, USE32, FLAT 書The Art of Assembly Language Programming可在網上提到,但稱它的範圍,並建議閱讀MASM程序員指南: The use32 and

    6熱度

    1回答

    我有一個數據結構需要4-KiB對齊。我可以使用__attribute__ ((aligned (4096)))來強制執行此操作。 問題是,這種對齊要求會導致內存浪費。這是鏈接器如何放置符號(pg_dir是對齊的數據結構): 00011000 <cursor_loc>: 00012000 <pg_dir>: 00013000 <idt>: cursor_loc的大小隻是四個字節。這將是更好的

    4熱度

    1回答

    我正在一個類似嵌入式的環境中工作,每個字節都非常珍貴,比沒有對齊訪問的附加週期要多得多。我有一個從操作系統的開發實例一些簡單的防鏽代碼: #![feature(lang_items)] #![no_std] extern crate rlibc; #[no_mangle] pub extern fn rust_main() { // ATTENTION: we have a v

    3熱度

    3回答

    考慮以下過程,它使用值填充一個雙字數組,並帶入兩個參數:EBP + 08h是數組的大小,而EBP + 0Ch是給定數組的偏移量。 (即OFFSET myarray): MyProc PROC PUSH EBP MOV EBP, ESP SUB ESP, 04h PUSH EDI PUSH ESI PUSH EBX MOV EBX, [EBP + 08h] ;move the size

    -1熱度

    1回答

    是否有可能創建一個指向程序集的指針,就像你將如何創建一個指向C函數的指針? void(*MyFuncPointer)(int a, int b); 我假設這是可能的,我只是不知道如何做到這一點。

    0熱度

    2回答

    我想更好地理解棧上的項目以及如何解決它們。我發現here的文章似乎表明,當MIPS堆棧被初始化時,將分配固定數量的內存,並且堆棧增長到堆棧限制,這看起來是較小的地址。我會假設基於這種邏輯,當遍歷0x0000時會發生堆棧溢出? 我意識到MIPS是大端,但這是否會改變棧的增長?我寫了我認爲可以在x86_64機器上觀察到這種情況的一種快速方法,但堆棧似乎正在成長,正如我原先假定的那樣。 #include

    -2熱度

    2回答

    我正在使用masm彙編程序,並且我正在使用kernel32.lib創建堆內存,但是在HeapCreate過程的Windows API頁面上,它並不告訴我它存儲了返回值的位置。 (即堆的句柄) 我會假設它存儲在EAX?因爲大多數程序將其返回值設置爲EAX。我打電話HeapCreate後,我打電話HealAlloc在我的堆分配一些內存: INCLUDE \masm32\include\kernel32

    1熱度

    1回答

    我試圖打印出如下這樣的三角形:in assembly。 查找每行中恆星數量的公式是:2 * x + 1. 這是我的代碼。我似乎無限循環。 .data prompt BYTE "Please enter the number of rows in the pyramid: ", 0 numRows DWORD ? count DWORD 0 .code main PROC mo

    1熱度

    2回答

    我想重用我的C項目中一些彙編代碼的函數體。假設我有一個指令序列,我想組織他們作爲一個函數: void foo() { __asm__ ( "mov %eax, %ebx" "push %eax" ... ); } 然而,一個障礙是,在功能foo編譯彙編代碼,除了內聯彙編代碼,編譯器也將產生這個功能有些序幕指令,整個彙編程序將成爲類似: foo:

    -1熱度

    1回答

    在我的彙編程序中,我從kernel32庫中調用AllocConsole,但是我不知道如何從分配的控制檯獲取輸入。 有沒有winapi包含的任何函數會從當前程序的分配控制檯獲取輸入? CALL AllocConsole 的所有功能,如ReadConsole需要輸入緩衝器,我不知道如何讓輸入緩衝區爲我分配的控制檯,更不用說功能是否確實連我需要什麼。 總而言之,winapi中是否有一個函數可以從程序