cost 374 ms
為什么在打印浮點數時需要將相同的值 +4 壓入?

[英]Why do I need to push the same value +4 when printing a float?

很長一段時間以來,我一直試圖在 FASM 中打印一個浮點值,直到我終於找到了一個解決方案,它起作用了,但是,為什么會這樣呢? 在一個 C 程序上,我讓 x64dbg 生成的匯編代碼是這樣的: 我認為事實fld將浮點值加載到 st(0) 中,而fstp將 st(0) 值加載到一個地址上,基本上,非常 ...

通過 FASM 組裝 a.asm 文件?

[英]Assembling a .asm file via FASM?

我下載了一個文件進行一些實驗,說明說 “下載 Flat Assembler 或者如果您使用的是 Linux,您可以使用sudo apt-get install fasm Assemble 使用以下命令fasm main.asm ” 我不知道該怎么做,因為我對所有這些東西都是新手。 我什至不知道我是 ...

x86_64 Linux 程序集中的邏輯與實現

[英]Logical AND implementation in x86_64 Linux assembly

我正在嘗試在匯編中實現邏輯非和邏輯與,我已經使用x < 1做了邏輯非,但我想不出如何實現 AND,我可以使用二進制,但是對於負數來說這是錯誤的(它假設 - 1 是true )並且當 NOT 明顯有效時它沒有任何意義,因為-1 < 1將返回1 所以我很困惑,我該怎么做,我可以使用任何已知 ...

我無法在 Windows 啟動 ASM(注冊表)上運行應用程序

[英]I can't get an application to run on Windows startup ASM (Registry)

我正在嘗試將用 C 語言編寫的代碼翻譯成匯編(FASM),但我無法讓它工作。 該代碼嘗試在注冊表中創建一個條目,以便在機器啟動時執行它。 完美運行的 C 代碼: 不起作用的匯編代碼 (FASM): .data hkey dd 0 ...

每使用一個 label 地址,就會向 .o 文件的總大小增加 24 個字節(加上 8 個字節(總共 32 個字節))

[英]Each label address used, adds 24 bytes more (plus 8 bytes (totalling 32 bytes)) to the .o file's total size

在我的 FASM 項目(對象)中,我正在嘗試創建一個跳轉表並且我對每個跳轉地址使用dq但有一個問題! 對於每個dq.jmp1 (跳轉地址定義),我的 final.o 文件的總大小將增加 24 個字節(加上.jmp1地址的 8 個字節(總共 32 個字節))! 那額外的 24 個字節是什么? 有什么 ...

了解 fasm 中的 ERROR_SHARING_VIOLATION x86

[英]Understanding ERROR_SHARING_VIOLATION in fasm x86

據我了解,如果共享模式設置為 0,我將無法再次打開該文件。 默認情況下,我將其設置為 3,但即使將其設置為 2 ( FILE_SHARE_WRITE ) 也會輸出相同的錯誤。 所以這讓我認為參數是正確的。 數據: 代碼: 可能是什么原因? 編輯:CreateFIleA 參考https://lear ...

如何將此匯編代碼從 32 位轉換為 64 位?

[英]How can I convert this assembly code from 32 bit to 64 bit?

我在 asm 代碼中有一個小程序,我通過CallWindowProc從另一種語言使用它,我已經使用它好幾年了,它工作正常,它是 32 位的,現在我需要將它傳遞給 64 位,但我不知道這個怎么做。 我已經嘗試了幾次,但我無法讓它在 64 位上運行。 我正在使用 FASM 進行編程,並且使用 Windo ...

查找從左上角到右下角組件的所有路徑

[英]find all paths from top left corner to right bottom corner assembly

我是匯編編程的新手,目前正在學習在線課程。 最初的問題是計算從左上角到右下角的路徑數。 但我在這里找到了一個很好的解決方案: https://www.geeksforgeeks.org/count-possible-paths-top-left-bottom-right-nxm-matrix/ ...

字節序不影響 memory 中的寫入但讀取

[英]endianness doesn't affect writing but reading in memory

我已經得出結論,無論是小端還是大端。 我們從左到右寫入 memory,這就是這個意思。 數字 0x00FF 將在兩個系統中寫入如下 1000:00 1001:FF 但是,字節順序之間的讀數不同。 在 little endian 中,我們將讀取這兩個字節 1000:00 1001:FF 作為 0x ...

寫字符串 16 位 fasm 程序集

[英]Write string 16-bit fasm assembly

我制作了應該與 vmem 一起使用的驅動程序,但它不起作用。 我認為錯誤是我用來指向內存的寄存器。 有驅動程序代碼: 我分析了代碼,但找不到任何錯誤。 PS:我只測試了 .twritezs 函數,也許另一個也不起作用。 ...

NASM 中的細分市場?

[英]Segments in NASM?

我一直在嘗試將一個示例從 FASM(平面匯編程序)復制到 NASM,但我一直無法做到,我試圖了解 NASM 處理段(部分)的方式。 FASM 生成一個 MSDOS exe 文件並在 DEBUG 中加載它我看到以下內容: 如您所見,FASM 創建了段並將 CALL 設置為遠呼叫。 extr ...

如何將圖像從磁盤加載到 vmem

[英]How to load image from disk to vmem

我正在用 fasm 程序集編寫操作系統,但遇到了問題。 我試圖逐個像素地繪制字體,但它太難和奇怪了。 我想制作位圖逐像素字體並將其保存在硬盤上,並在內核代碼制作功能中,可以將其加載到視頻內存中。 我試圖用谷歌搜索它,但沒有成功。 請幫忙 內核代碼: 我希望我的代碼將來會更加優化。 ...

Video MEM fasm assembly的使用方法

[英]How to use Video MEM fasm assembly

我正在 fasm 匯編 R-OS 上編寫操作系統,我想知道如何在沒有 bios 的情況下使用視頻 memory。 當前操作系統為 Windows 或 MacOS 讓我在 kernel 中創建視頻系統,但我不知道如何操作。 請幫助。 啟動.asm: kernel.asm: disk.asm 只有 ...

bochs hlp 中的 FASM 引導程序

[英]FASM bootloader in bochs hlp

我試圖在 fasm 匯編上編寫自己的引導加載程序,但沒有成功。 結果:預取:EIP 00010000 > CS.limit 0000ffff 代碼: 磁盤.asm: printh.asm 只有打印功能。 我不明白,為什么它不起作用。 我嘗試了很多解決方案的變體,但沒有一個在這個列表中起作用。 ...

QEMU 中的小 x86-16 蜂鳴聲

[英]Small x86-16 beep in QEMU

我正在使用 x86-16 程序集在引導扇區中創建一個小型乒乓球游戲,以在 Ubuntu 20.04.2 上的 QEMU 中運行。 我想在球擊中球拍時發出控制台蜂鳴聲。 在 x86-16 中創建任何類型的嗶聲的空間有效方法是什么? 我正在使用 FASM。 ...

如何避免在沒有 POP 的情況下使用 PUSH?

[英]How to avoid using PUSH without POP?

我目前正在手工編寫 x86 程序集 (FASM),我經常犯的一個典型錯誤是push參數push堆棧,但在執行pop之前返回。 這會導致調用者的堆棧偏移量發生變化,這將導致程序崩潰。 這是一個粗略的例子來演示它: 現在,顯而易見的答案是在發出ret之前從堆棧中彈出適當數量的元素。 但是,很容易 ...

如何在 Flat Assembler 中進行冒泡排序?

[英]How to make bubble sort in Flat Assembler?

我在 c++ 中編寫了一些冒泡排序代碼。 現在我想用平面匯編程序編寫它,但它似乎比我預期的要難。 有人可以幫助或提供相關資源嗎? 這是我的 c++ 代碼: ...

fasm x64 windows gdi 編程困難-調用stretchdibits 未按預期繪制屏幕

[英]fasm x64 windows gdi programming struggles - call to stretchdibits not painting screen as expected

我有一個簡單的 fasm 程序,在這個程序中,我通過 VirtualAlloc 從 windows 得到一些歸零的 memory。 然后我有一個過程,我只需設置參數並調用 StretchDIBits 傳遞一個指向空 memory 緩沖區的指針。 因此,我希望屏幕應該被繪制成黑色。 然而事實並非如此, ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM